Eclipse/Maven:运行 JUnit 测试时未编译它们

2024-05-08

我正在使用 Maven 和 Eclipse(m2eclipse 插件)开发一个项目。我在 JUnit 测试中遇到问题:

有时,当在 Eclipse 中运行它们时,它们不会被编译,而是使用旧的类文件。当我删除类文件时,我得到ClassNotFoundExceptions在日食中。然后我必须使用手动重新编译它们mvn test-compile或其他目标。

我还注意到测试的类文件有时会放入classes子目录而不是test-classes.

我实在不明白到底出了什么问题。

JUnit java 文件位于src/main/java并且被正确命名(*Test.java).

我是否必须始终通过 Maven 编译和运行它们?为什么当我想运行这些文件时 Eclipse 不编译这些文件? (有趣的是,有时确实如此。有时一切都很完美。)


我在使用 STS Eclipse(Spring 开发变体)、m2e 和 JUnit 时也遇到了同样的问题。解决方案是将输出文件夹设置为src/test/java to target/test-classes:

  1. 右键单击src/test/java包资源管理器中的文件夹
  2. Select 构建路径 -> 配置输出文件夹
  3. Enter target/test-classes, click OK

现在测试类中的更改已正确编译,您应该能够在 Eclipse 中运行 JUnit 测试。

问题是 Eclipse 将单元测试编译到默认输出文件夹target/classes当 JUnit 插件正确尝试运行它们时test-classes.

这个问题有几个重复:

  • 在 Eclipse 中运行 JUnit 单元测试时出现 ClassNotFoundException(使用 Maven) https://stackoverflow.com/questions/5974432/classnotfoundexception-when-running-junit-unit-tests-within-eclipse-using-maven
  • Eclipse 没有看到我的新 junit 测试 https://stackoverflow.com/questions/2586457/eclipse-doesnt-see-my-new-junit-test
  • junit 未使用最新文件 https://stackoverflow.com/questions/6161267/junit-not-using-the-newest-file
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Eclipse/Maven:运行 JUnit 测试时未编译它们 的相关文章

随机推荐