私はクラスを持っており、次のことを行う必要があるメソッドFileGenerator
のテストを書いています。generateFile()
1)静的メソッドgetBlockImpl(FileTypeEnum)
を呼び出す必要がありますBlockAbstractFactory
blockList
2)サブクラスメソッドから変数を設定する必要がありますgetBlocks()
3) Stringパラメーターを渡すcreateFile
最終ヘルパークラスから静的メソッドを呼び出す必要がありますFileHelper
BlockController
4) blockList内のそれぞれのrunメソッドを呼び出す必要があります
これまでのところ、私はこの空のメソッドを持っています:
public class FileGenerator {
// private fields with Getters and Setters
public void generateBlocks() {
}
}
私はJUnit、Mockitoを使用してオブジェクトをモックし、PowerMockitoを使用して静的クラスと最終クラスをモックしようとしました(Mockitoは実行しません)。
私の問題は次のとおりです。に実装がないにもかかわらず、最初のテスト(getBlockList()
からメソッドを呼び出す)が合格しています。Eclipse構文エラーを回避するために、静的メソッドを実装しました(これまでのところnullを返します)。BlockAbstractFactory
generateBlocks()
BlockAbstractFactory
静的メソッドが内部で呼び出されているかどうかをテストするにはどうすればよいfileGerator.generateBlocks()
ですか?
これまでの私のテストクラスは次のとおりです。
@RunWith(PowerMockRunner.class)
public class testFileGenerator {
FileGenerator fileGenerator = new FileGenerator();
@Test
public void shouldCallGetBlockList() {
fileGenerator.setFileType(FileTypeEnum.SPED_FISCAL);
fileGenerator.generateBlocks();
PowerMockito.mockStatic(BlockAbstractFactory.class);
PowerMockito.verifyStatic();
BlockAbstractFactory.getBlockImpl(fileGenerator.getFileType());
}
}