我正在尝试通过JUNIT运行程序执行JUNIT测试用例列表。测试用例名称可以在excel表中找到,我正在一个接一个地检索这个值。
我不确定我哪里出错了。但是我的测试跑步者没有执行。有人可以帮我这个。
Cell celltest = sheet.getCell(col,row);
String KeywordTest=celltest.getContents().concat(strClass);
//org.junit.runner.JUnitCore.runClasses(MyJUNITTestCase.class);
org.junit.runner.JUnitCore.runClasses(KeywordTest);
如果我尝试注释行,它工作正常。但是,如果我尝试从excel中检索值并将其存储到“KeywordTest”。运行类无法识别它。知道我哪里出错了。
答案 0 :(得分:1)
JUnitCore#runClasses需要一个Class ...,所以你不能像你一样将String传递给它。你需要把字符串" com.foo.bar.Foobar"并将其转换为类,如下所示:
org.junit.runner.JUnitCore.runClasses(Class.forName(KeywordTest));
请注意,在java中,变量通常以小写字母开头,如下所示:
Cell celltest = sheet.getCell(col,row);
String keywordTest=celltest.getContents().concat(strClass);
org.junit.runner.JUnitCore.runClasses(Class.forName(keywordTest));
而且,keywordTest需要完全限定。 Foobar本身不起作用,你需要com.foo.bar.Foobar。