JUNIT亚军无法识别类名

问题描述:

我想通过JUNIT亚军执行JUNIT测试用例列表。测试用例名称可以在excel表格中找到,我一个接一个地检索值。JUNIT亚军无法识别类名

我不知道我要去的地方错了。但我的测试跑步者没有执行。有人能帮我解决这个问题吗?

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

“KeywordTest”失败时的内容是什么? – aioobe 2012-03-22 10:33:09

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。

+0

感谢您的回复。我仍然得到“线程中的异常”main“java.lang.ClassNotFoundException:POCWebDragDrop.class” – Vinee 2012-03-23 09:31:22

+0

是类路径上的类等? – 2012-03-23 10:09:32

+0

不是。您能否提供代码/语法请在哪里以及如何使用它。我正在努力添加类似的包结构,如“com.foo.bar.Foobar”。我的脚本以及..但由于不正确的语法得到错误信息 – Vinee 2012-03-23 10:15:55