【发布时间】:2011-05-09 15:00:15
【问题描述】:
据我所知,测试文件的位置是正确的。
当我运行“mvn test”时,它会找到四个名为 SomethingTest 的类(它们位于“test”文件夹中)。
但是,它会忽略任何 jUnit 测试(jUnit 4,使用 @Test 注释)。
如何调试?
编辑 - 这可能与包含的 jUnit 版本错误有关。我在运行“mvn -X”时看到了这个
[DEBUG] Retrieving parent-POM: org.codehaus.plexus:plexus:pom:1.0.4 for project: org.codehaus.plexus:plexus-containers:pom:1.0.3 from the repository.
[DEBUG] org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-9-stable-1:runtime (selected for runtime)
[DEBUG] junit:junit:jar:3.8.1:runtime (selected for runtime)
[DEBUG] org.codehaus.plexus:plexus-utils:jar:1.0.4:runtime (removed - nearer found: 1.4.1)
[DEBUG] classworlds:classworlds:jar:1.1-alpha-2:runtime (selected for runtime)
尽管我在根 pom 中的第一个依赖项是在 jUnit 4.8.1 上,但由于某种原因,jUnit 3.8.1 被包含在内。
编辑 2 - 好吧,这似乎不是答案。测试类路径包括正确的 jUnit (4) 和我的测试类。
Edit 3 - 我有一个名为 SomethingTester 的测试类。当我将其更改为SomethingTest时,它起作用了。我检查了 Surefire 的包含模式,确实它没有被配置为捕获Something Tester。呵呵。
【问题讨论】:
-
这看起来很奇怪。你能发布你的 pom.xml 吗?
-
@seanizer - 你看到编辑 3 了吗?我的检测测试模式根本没有正确配置。
-
哦,我明白了,那么您应该将其添加为答案并接受它
-
@seanizer - 我添加了这个作为答案,我还不能接受(我讨厌这个事实 - 我必须等待 2 天)。
-
我找到了很好的答案。 stackoverflow.com/questions/6178583/…
标签: java maven-2 junit surefire