クラス FileGenerator があり、次のことを行う generateFile() メソッドのテストを作成しています。
1) BlockAbstractFactory で静的メソッド getBlockImpl(FileTypeEnum) を呼び出す必要があります
2) サブクラス メソッド getBlocks() から変数 blockList を設定する必要があります。
3) String パラメーターを渡して、最終ヘルパー クラス FileHelper から静的メソッド createFile を呼び出す必要があります。
4) blockList 内の各 BlockController の run メソッドを呼び出す必要があります。
TDD を使用して、メソッドの最後のシナリオをテストしようとしています。Runnable を実装する BlockController オブジェクトのリストがあり、それぞれが run() メソッドを呼び出すかどうかを確認する必要があります。
これが私がやろうとしていることです:
public class FileGenerator {
// private fields with Getters and Setters
public void generateBlocks() {
// 1,2 get the block manager that will return the BlockController list
blockManager = BlockAbstractFactory.getManager(fileType);
blockList = blockManager.getBlocks();
// create a file using FileHelper
FileHelper.createFile(path);
// What I want to test:
// for each BlockController in the blockList, call the run() method
}
}
Junit と Mockito を使用しています。Mockito のドキュメントでは、オブジェクトではなく、リストをモックし、リストのメソッド呼び出し (add(T)、remove(T) など) を検証する方法のみを示しています。
どうすればこれを行うことができますか?