JUNIT runner无法识别类名

时间:2012-03-22 10:30:23

标签: java junit junit4

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

1 个答案:

答案 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。