嗯,我想我从来没有遇到过这样的问题。 JUnit 完全忽略我在测试的 *.java 文件中所做的任何更改。一旦我运行它,它只会执行旧的命令。我尝试添加新代码,它仍然执行相同的代码,我尝试注释掉此类中的其他测试用例,它仍然执行它们,就好像它全部被缓存一样。我尝试清理整个项目,但没有帮助。我尝试重新打开 Eclipse,也没有帮助...
唯一帮助我通过更改正确执行测试的是使用复制的代码和不同的类名称创建一个克隆类,然后 JUnit 实际执行更改的代码而不是使用缓存的版本,但这更多的是一种解决方法,而不是解决方案,我想知道解决方案是什么?
我正在使用 JUnit 4.11:
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
</dependency>
而且我真的不认为我以前遇到过这个问题...我可能在不久前遇到了一些虚拟机忽略代码更改的问题,通常可以通过对项目进行清理来解决,但 JUnit 从来没有遇到过这样的问题。我确实找不到与此类问题相关的帖子。
最佳答案
JUnit 本身不编译任何东西,也不决定编译什么,也没有任何缓存。其他工具(如 IDE 或构建工具)负责它。
如果您从 Eclipse 运行测试,我相信这是 Eclipse 问题。打开菜单项“项目”并查看是否选中“自动构建”复选框。
如果这没有帮助,请尝试再次创建项目。如果这没有帮助,请再次创建整个工作区。
关于java - JUnit 忽略代码更改(也许使用已编译代码的缓存版本?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37238437/