【问题标题】:JUnit unable to find tests in Eclipse [duplicate]JUnit 无法在 Eclipse 中找到测试 [重复]
【发布时间】:2011-03-01 05:21:41
【问题描述】:

我在 Eclipse 3.5 中的 JUnit 4 测试中有一个奇怪的问题,我无法解决 - 任何提示都非常感谢!

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

现在:当我尝试运行测试消息时,我得到的只是一个错误“No tests found with test runner 'JUnit 4'”。

知道发生了什么吗?我根本想不出是什么导致了失败。

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

【问题讨论】:

  • 附加信息:我正在使用以下插件:EGit、Subversion 客户端 (Subclipse)、Clojure 逆时针、ASM 框架、Findbugs、Metrics 插件
  • 附加信息:JUnit 本身似乎没有问题,因为测试在其他项目中仍然运行良好。确实似乎与项目配置相关,但我无法弄清楚可能缺少什么依赖项......

标签: eclipse junit classpath


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    我以不同的方式解决了这样的问题。这些解决方案都不适合我。我的项目是一个 Google Web App 项目、一个 Maven 项目和一个 JREbel 项目......所以这些项目中的任何一个都可能会影响我的设置。

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

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

    【讨论】:

      【解决方案3】:

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

      No tests found with test runner 'JUnit 4'

      很多关于重启 Eclipse 和清理项目的建议。根据我的经验,有时 Eclipse 会陷入一种模式,它认为我正在尝试在 JUnit 3 和 4 之间进行混合运行,因此有时用旧的术语命名“@Test”方法将其命名为“test ...”作品。

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

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

      【讨论】:

      • 谢谢 - 我确实检查了该线程,但那里的提示似乎都不起作用(重新启动 eclipse 或清理项目不起作用,我没有使用 Maven)。
      • 此外,大多数测试已经命名为“@Test public void testXXX()”,所以可能不是 3/4 混淆问题。
      • 嗯...尝试去掉'test'关键字并单独运行一个测试用例,这样行吗?
      • 另外,由于这似乎是一个项目配置问题,您的 JUnit 配置(参数选项卡)的两个项目之间是否有相同的“工作目录”?我相信它默认为 ${workspace}。
      • 我有 ${workspace_loc:ProjectName} 作为工作目录(这是默认的)。然后所有代码都在 src 子目录下。这可能是个问题吗?
      【解决方案4】:

      这个问题最有趣的答案。

      更改测试名称以“test”开头

      例如,

      @测试 public void checkForTwoStringTest(){....}

      改成

      @测试 公共无效 testCheckForTwoString

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

      【讨论】:

        【解决方案5】:

        我从来没有发现这个问题的真正原因,但升级到 Eclipse 3.6 终于解决了它。

        【讨论】:

        • 我在 Juno (4.2.2) 中再次遇到此问题,使用 m2e。我发现我需要重新启动才能清除它。
        猜你喜欢
        • 1970-01-01
        • 2013-12-02
        • 1970-01-01
        • 2010-09-30
        • 1970-01-01
        • 1970-01-01
        • 2016-07-21
        • 2020-04-11
        • 1970-01-01
        相关资源
        最近更新 更多