【问题标题】:Eclipse doesn't see my new junit testEclipse 看不到我的新 junit 测试
【发布时间】:2011-02-04 21:35:39
【问题描述】:

我正在使用 eclipse 在单个 junit(4) 测试类中运行测试。课堂上的测试都运行得很好。然后我添加了一个额外的测试并再次通过在 ecplise 中运行的测试来运行该类。仅运行旧测试。 eclipse 没有看到新的测试。没有错误什么的,就好像eclipse在看旧版本的测试一样。

如果我使用 maven 运行测试,一切正常。此外,我在 maven 中运行测试后,ecplipse 可以正确查看并运行新的测试。

有什么想法吗?有什么想法可以让 ecplipse 的测试运行器查看我的新测试用例吗?

【问题讨论】:

  • 尝试项目/清理和项目/重建

标签: eclipse junit


【解决方案1】:

这意味着您创建了一个尚未构建的测试类。 在构建之后,例如使用“gradle build”,Eclipse 也会找到 Test 类。 就我而言,我之前也必须进行清理。

【讨论】:

    【解决方案2】:

    这是我解决问题的方法...

    1. 右键单击项目并转到 Run As -> Run Configurations...
    2. 在出现的弹出窗口中选择 JUnit -> [项目名称] (这个 [project-name] 的配置是 eclipse 为我创建的 但如果没有,您可以右键单击 JUnit -> New 并创建它)
    3. 转到类路径选项卡
    4. 突出显示用户条目并点击高级...按钮
    5. 在出现的高级选项弹出窗口中选择添加文件夹并点击确定
    6. 在滚动到您的项目的 文件夹选择 弹出窗口中打开 target 并选择 test-classes 并单击 OK
    7. 对 [project-name]/target/classes 目录和类路径中所需的任何其他目录(如测试中使用的属性文件等)重复步骤 4-6

    注意:假设您项目的默认测试输出文件夹是 target/test-classes,如果不是,则进行相应调整。另外,请确保您在 JUnit 运行配置下也选择了正确的 JUnit 版本,并且您的 src/test/java 目录是您项目的源文件夹,等等。

    【讨论】:

      【解决方案3】:

      如果没有 @Test 注释,则在测试类前面添加“测试”并不总是从 Eclipse 的 Junit 测试框架中获取。

      【讨论】:

        【解决方案4】:

        针对 Ryan Dawe 提供的答案,我发现对于构建路径上的所有源文件夹,默认输出文件夹只能设置为一个文件夹。因此,如果我将输出文件夹更改为 target/test-classes,我的 src/main/java 也会在那里输出类。 您可能已经为其他旧版本的 eclipse 编写了此响应,但从 Mars.2 版本开始,我们只能为所有源文件夹设置一个默认输出文件夹。

        到目前为止,我为这个问题找到的最佳解决方案是将目标/测试类作为类文件夹包含在内,方法是转到项目 -> 属性 -> Java 构建路径 -> 库 -> 添加类文件夹。

        【讨论】:

        • 展开上层源文件夹节点时,应该有一个“输出文件夹”节点。如果您仍然看不到它,请尝试按照 stackoverflow.com/questions/6087690/… 中的说明通过 Package Explorer
        【解决方案5】:

        您可能会发现这很可能是由于使用 Maven 构建(Maven 通常构建到“目标”文件夹中)造成的,但 Eclipse 使用不同的构建文件夹进行自己的构建过程。最简单的方法是进入 Eclipse 项目下的目标文件夹(如果使用 OSGi,则进入 Bundle)并从该目录下删除冲突的子文件夹/类文件;对我来说,这是我的“目标”文件夹。然后让 Eclipse 重新构建,一切都会好起来的。

        从技术上讲,如果您愿意,您也可以直接删除整个 build/target 文件夹,然后让 Eclipse 重新构建所有内容。

        【讨论】:

          【解决方案6】:

          可能 src/test 不在 Java 构建路径中。

          开普勒解决方案:

          项目 -> 构建路径 -> 配置构建路径 -> 源代码 -> 添加文件夹

          然后勾选srctest对应的复选框

          【讨论】:

            【解决方案7】:

            我有同样的问题。我通过执行以下操作解决了它:

            • 转到项目 -> 属性 -> Java 构建路径
              对于源文件夹src/test/java,输出文件夹设置为 “默认输出文件夹”
            • 将此设置为 Maven 结构中的典型 Maven target/test-classes 目录

            此后,Maven 和 Eclipse 同步(与 Eclipse 愉快地运行旧版本的测试相反,从上次 Maven 编译开始)。

            【讨论】:

            • 除此之外,就我而言,我必须删除target/test-classes 文件夹,清理并重建工作区。之后开始工作。
            【解决方案8】:

            这似乎和junit not using the newest file是同一个问题

            问题似乎是 Eclipse 将编译后的测试放在了错误的文件夹中,这可以通过手动指定它们应该结束的位置来解决。

            【讨论】:

              【解决方案9】:

              也许您“只是”需要创建一个新的运行配置。 Eclipse “记住”最新使用的 Run 配置,如果没有另行通知,则只是重复它。为了确保您有一个新的运行配置,您可以在包资源管理器中右键单击测试用例并选择运行方式 |朱尼特测试。下次您点击播放时,这将是“记住的”运行配置等。

              【讨论】:

                【解决方案10】:

                您的项目似乎没有重新编译。要么检查菜单:项目/自动构建,要么按照 Boris Pavlocic 的评论手动进行。

                【讨论】:

                  猜你喜欢
                  • 1970-01-01
                  • 2013-12-02
                  • 1970-01-01
                  • 2023-03-12
                  • 1970-01-01
                  • 2019-09-27
                  • 1970-01-01
                  • 1970-01-01
                  • 2014-05-03
                  相关资源
                  最近更新 更多