我正在尝试通过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。

09-30 22:55