我正在尝试创建动态JUnit测试(在Directory中搜索文件,找到匹配的输入/预期文件,使用正确的XQuery-Transformator并将测试数据源文件夹放到正确的目录中。)
ArrayList<Tuple4> t = findfiles(new String[]{"**/*.xq**"}, "D:/PROJEKTE/UDG/OSB-Projekte/"); //Routine to put these information into my Array
for( Tuple4 sub : t){
String inp = (String) sub.c;
if(inp.contains("DiagFisArchiveId INP HDR")){
System.out.println("A: "+ sub.a + " B: " + sub.b + " C: "+ sub.c+ " D: "+sub.d);
new XQueryTester((String)sub.a,(String)sub.b).testHeader((String)sub.c,(String)sub.d);
} else if(inp.contains("PAY")){
System.out.println("A: "+ sub.a + " B: " + sub.b + " C: "+ sub.c+ " D: "+sub.d);
new XQueryTester((String)sub.a,(String)sub.b).testBody((String)sub.c,(String)sub.d);
}
}
运行时,我在控制台中获得以下输出:
A: src\conf\IsiAivResponse_XqueryTransformer\IsiAivResponse.xquery B: D:\PROJEKTE\UDG\OSB-Projekte\konf_uss_aiv\test\xquery-testdata\ C: IsiAivResponse IsiAivResponse INP PAY.xml D: IsiAivResponse IsiAivResponse EXP PAY.xml
A: src\conf\EsmArsRequest_XqueryTransformer\ArsBuilder.xquery B: D:\PROJEKTE\UDG\OSB-Projekte\konf_uss_ars\test\xquery-testdata\ C: ArsBuilder EsmArsRequest INP PAY.xml D: ArsBuilder EsmArsRequest EXP PAY.xml
A: src\conf\IsiArsHeader_XqueryTransformer\headerSetter.xq B: D:\PROJEKTE\UDG\OSB-Projekte\konf_uss_ars\test\xquery-testdata\ C: headerSetter IsiArsHeader INP PAY.xml D: headerSetter IsiArsHeader EXP HDR.xml
A: src\conf\IsiArsResponse_XqueryTransformer\response.xq B: D:\PROJEKTE\UDG\OSB-Projekte\konf_uss_ars\test\xquery-testdata\ C: response IsiArsResponse INP PAY.xml D: response IsiArsResponse EXP PAY.xml
...
然而它说我只跑了1次测试
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 30.928 sec - in XQueryTest
我的初始化是否存在问题,或者它是否真的在运行“每个测试”而只是说它是1?
修改:我只有1 @Test Annotation
,但我怎样才能验证它实际测试了一切。因为在我的测试引擎(XQueryTester
)中,我实际上放了一些没有打印到控制台的日志记录,所以我觉得它并没有真正测试它。
答案 0 :(得分:0)
如果你只有1个@Test,显然JUnit会说你只运行1次测试。
但是,为了获得目标,您可以做的是为需要验证的每个文件添加断言。像这样:
@Test
public void verifyReadFiles(){
//Your logic here to read process files
//Yours assertions here
Assert.assertThat(isLoaded(file1), is(true));
}
希望它可以帮到你