5
在编写测试时,我想单独运行它们。不管怎样,因为我已经从默认的Eclipse Java构建器切换到Maven,所以这是不可能的。观察:今天在Eclipse中使用Maven运行单个JUnit4测试
直到我可以打开一个JUnit测试的源文件,并选择从工具栏
Run as | JUnit test
。在我迁移到Maven之前,Eclipse在需要时构建了单元测试。自从Maven以来,我得到了一个
ClassNotFoundException
以防我没有明确地编译过测试。如果我选择POM并且做Run as | Maven test
,我可以绕过这个。这将编译测试并运行所有测试。如果我再次选择单元测试并从工具栏中选择
Run as | JUnit test
,它将执行测试。
由于这样太不方便,我希望“老”行为回来,我认为这应该只是一个配置问题。
我
- 阅读Running a single test in Eclipse,但它描述了一个问题,而无需Maven的。基本上,预期的行为是我以前的行为。
- 阅读Running JUnit tests with Maven under Eclipse是我目前拥有的。我有Surefire,我可以在选择POM时运行所有的测试。
- 我Surefire version is 2.18
- 转换我的项目的目录结构以默认的Maven布局(它以前是不可能)
- Running a single test in Maven - No tests were executed是不适用的,因为我想从Eclipse运行测试,而不是命令行。
- [X]建立autmatically启用
- [X] Maven项目生成器在项目属性
- 的mailing list配置停止悬而未决
- 了解Surefire arguments
我现在放弃了。
如何进行高效的红绿重构,即一次只运行一个单元测试,而无需为每个单独测试添加运行配置?
通常这是可能的。我认为你的Maven/Eclipse集成有一个配置问题。 Do(Maven和Eclipse)是否都使用相同的目标目录(即存储.class文件的位置)? – Jan
@Jan:在Java Build File中,我将“Default output folder”设置为/ target/classes。除了指向/ target/test-classes的单元测试(src/test/java)之外,源文件夹指向那里(/ src/main/java,/ src/main/resources)。 –
在我的POM中,我已经删除了特定的目录名,所以它也构建到/ target/classes和/ target/test-classes。 –