2013-06-01 140 views
0

如果我创建一个测试类,我不能从eclipse运行它,直到我通过命令行上的maven首先运行它。我的项目构建路径输出文件夹指向project/target/classes。在eclipse中检查自动构建。不能从eclipse运行单元测试

任何人都知道为什么eclipse不会自动创建类?

+1

如果您尝试*在Eclipse中运行,会发生什么情况?它绝对在源路径中的文件夹中吗? –

+0

对于新的测试,我得到一个'java.lang.ClassNotFoundException',如果我在命令行上运行'mvm test',那么在从Eclipse运行测试后,我不会得到这个Execption。 – user86834

+0

Eclipse是否知道源文件是源文件? –

回答

1

下面是项目布局和构建路径的外观。

布局

enter image description here

构建路径

enter image description here

+0

是的,看起来是一样的,就好像当我创建一个新的java类时,文件不会在'/ myproject/target/classes'中创建,我必须先运行'mvn test'。所以问题是,我需要在eclipse中做些什么来创建/更新'/ myproject/target/classes'中的类文件。我已经选中了“允许输出源文件夹的文件夹”。 – user86834

+0

如果您正确设置它,如我的屏幕截图所示,那么Eclipse会将Java类编译为'target/classes'。存储在'src/test/java'中的JUnit测试用例将被编译为'target/test-classes'。如果不是这种情况,则需要验证配置是否如图所示。 –

0

除了什么马塞尔说,有人谁运行到同样的问题应该寻找内项目之间的依赖关系蚀。

我正在使用项目A,它依赖于项目B.除了本文提到的问题(运行JUnit类测试)之外,项目A的构建和运行正常。在挖掘一段时间后,我注意到项目B有一个构建错误(源文件夹丢失,谁知道为什么),并且Eclipse没有构建项目B,这导致项目A出现错误。

只要我修复了项目B构建错误,解决了JUnit类的问题。