我有一个类FileGenerator
,我正在写一个测试的generateFile()
是应该做下面的方法:
1)它应当调用静态方法getBlockImpl(FileTypeEnum)
上BlockAbstractFactory
2)它应该填充可变blockList
从子类方法getBlocks()
3)它应该调用一个静态方法createFile
从最终辅助类FileHelper
传递字符串参数
4)它应该调用每个运行方法BlockController
在块列表
到目前为止,我有这个空的方法:
public class FileGenerator {
// private fields with Getters and Setters
public void generateBlocks() {
}
}
我使用JUnit,对的Mockito mock对象和我一直在使用PowerMockito嘲笑静态和最后类(没有的Mockito无效)尝试。
我的问题是:我的第一个测试(调用方法getBlockList()
从BlockAbstractFactory
)在流逝,即使是在没有实现generateBlocks()
我已经实现的静态方法BlockAbstractFactory
(返回null,至今),以避免Eclipse的语法错误。
我如何可以测试静态方法中调用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());
}
}