Eclipse没有看到我的新junit测试

时间:2010-04-06 16:20:48

标签: eclipse junit

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

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

任何想法发生了什么?有任何想法如何让ecplipse的测试运行器看到我的新测试用例?

10 个答案:

答案 0 :(得分:10)

我有同样的问题。我通过以下方式解决了这个问题:

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

在此之后,Maven和Eclipse处于同步状态(与Eclipse相比,很快就运行了旧版本的测试,从最后一次Maven编译开始)。

答案 1 :(得分:1)

也许你“只是”需要创建一个新的运行配置。 Eclipse“记住”最新使用的Run配置,如果没有另外说明,则重复它。要确保您有新的运行配置,可以在包浏览器中右键单击测试用例,然后选择Run As | Junit测试。下次你点击播放时,这将是“记住的”运行配置等。

答案 2 :(得分:1)

可能src / test不在Java Build Path中。

开普勒解决方案:

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

然后选中 src

test 对应的框

答案 3 :(得分:1)

您可能会发现这可能是由于使用Maven构建(Maven通常构建到' target'文件夹),但Eclipse正在为自己的构建过程使用不同的构建文件夹。最简单的方法是进入Eclipse Project下的目标文件夹(如果使用OSGi,则进入Bundle)并从该目录下删除冲突的子文件夹/类文件;对我而言,这是我的目标"夹。然后让Eclipse重建,一切都应该没问题。

从技术上讲,如果你愿意的话,你可以放弃整个构建/目标文件夹,让Eclipse重建所有内容。

答案 4 :(得分:1)

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

到目前为止,我发现这个问题的最佳解决方案是将目标/测试类包含为类文件夹,方法是转到Project - >属性 - > Java构建路径 - >图书馆 - >添加Class文件夹。

答案 5 :(得分:0)

您的项目似乎没有重新编译。选择菜单:项目/构建自动或手动执行Boris Pavlocic评论。

答案 6 :(得分:0)

这似乎与junit not using the newest file

相同

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

答案 7 :(得分:0)

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

答案 8 :(得分:0)

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

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

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

答案 9 :(得分:0)

这意味着您已经创建了尚未构建的Test类。 构建之后,例如使用“ gradle build”,Eclipse也将找到Test类。 就我而言,我也必须先进行清理。