JUnit无法在Eclipse中找到测试

时间:2010-06-08 14:59:56

标签: eclipse junit classpath

我对Eclipse 3.5中的JUnit 4测试有一个奇怪的问题,我无法解决 - 任何提示感激不尽!

最初:我有一个测试套件正常工作,100多个测试都配置了JUnit 4注释。我通常通过右键单击我的源文件夹并选择“Run as JUnit test”来运行它们。一切都很完美。

现在:当我尝试运行测试消息时,我得到的是一个错误“没有找到测试运行'JUnit 4'的测试。”

知道发生了什么事吗?我根本无法解决可能导致失败的原因。

我的猜测是基于构建路径或类路径的某些配置问题?

5 个答案:

答案 0 :(得分:4)

也有这个问题,做一个“Project - > Clean”,然后像往常一样尝试运行单元测试已经做到了!

答案 1 :(得分:2)

我解决了这样的问题。这些解决方案都不适合我。我的项目是一个Google Web App项目,一个Maven项目和一个JREbel项目......所以这些都可能搞砸了我的设置。

我还发现我无法使用Run As运行任何带有main()方法的类 - > Java应用程序。这导致了ClassNotFoundException。

我的解决方案是创建一个新的Web应用程序项目并复制所有源代码并重新设置它。现在Java Application和JUnit Test都按预期工作了

答案 2 :(得分:1)

我的第一个想法(没有看到一些示例测试代码):

No tests found with test runner 'JUnit 4'

很多建议说明要重启Eclipse并清理项目。根据我的经验,有时eclipse会陷入一种模式,它认为我试图在JUnit 3和4之间进行混合运行,因此将'@Test'方法命名为命名为'test ...'的旧语句。作品。

此外,如果您有任何其他插件,即m2eclipse或您最近添加的其他插件,这也可能会影响您的情况。如果您最近添加的任何内容使用自己的JUnit版本,则可能会导致问题。

一些示例测试代码可能有助于进一步调查。

答案 3 :(得分:1)

这个问题的最有趣的答案。

将测试名称更改为以“test”

开头

例如,

@Test public void checkForTwoStringTest(){....}

更改为

@Test public void testCheckForTwoString

这确实像奇迹一样....: - )

答案 4 :(得分:0)

我从未发现此问题的真正原因,但升级到Eclipse 3.6终于解决了它。