我正在尝试通过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”。运行类无法识别它。知道我哪里出错了。
最佳答案
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。