簡體   English   中英

如何使用 junit5 覆蓋在 taskExecutor.execute(new Runnable..) 中編寫的代碼

[英]How to Cover code written inside taskExecutor.execute(new Runnable..) using junit5

想要為 execute 方法中的代碼編寫 junit5 測試用例/覆蓋率,如下是我的示例(虛擬)src 類,實際方法包含項目大量業務邏輯。

在此處輸入圖片說明

如果我模擬 taskExecutor,它會用虛擬值繞過整個 execute()。

任何建議我如何在附加代碼中覆蓋運行方法,以下是示例測試用例

在此處輸入圖片說明

您可以將內聯的Runnable外包給它自己的類,例如:

public class MyRunnable implements Runnable {

  private final JdbcTemplate jdbcTemplate;

  public MyRunnable(JdbcTemplate jdbcTemplate) {
    this.jdbcTemplate = jdbcTemplate;
  }

  @Override
  public void run() {
    // ... do your logic here
  }
}

然后為這個類編寫一個單元測試來單獨驗證它的行為。

在你的RedisScheduler你可以使用你的新類:

taskExecutor.execute(new MyRunnable(jdbcTemplate));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM