奇怪的Unrooted Tests错误
错误如图:
条件如下:
- Eclipse里的Maven工程。
- 使用JUnit4(这个是否必须不知,反正我的工程用的4)
- 修改某个Test类里的方法名,或者增加一个Test方法。
现象:
- 在MyEclipse2014里面通过Run As JUnit的方式单独运行某个修改过名字或者新添加的Test方法。
- 执行结果显示Unrooted Tests。
- 或者在Eclipse里通过Run As JUnit的方式执行发生条件里提到的修改内容的Test Class。
- 执行结果显示修改名字前的Test方法找不到。而新添加的测试方法根本不被执行。
- 通过Eclipse的Project/Clean菜单重新编译工程也无效。
原因:
- target/classes下测试类没有随着代码修改被刷新。
- 可能是Eclipse的一个bug,以下是我无责任猜想:
-
Maven工程会把测试类生成到target/test-classes下
- 出于未知的原因,某些情况下Eclipse会把Maven的设定当成编译的缺省路径。而不再刷新target/classes
解决方法:
- Eclipse里用Run As/Maven Build的方式刷新一下工程。然后就神奇的解决了。
- 用Eclipse的Project/Clean菜单重新Build整个工程也生效了。
转载请注明文章出处:http://www.cnblogs.com/gredswsh Gredswsh 专栏