我正在尝试在Maven构建或安装的Spring项目上运行JUnit测试。
src / main / test中的测试类:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {
"classpath:mvc-dispatcher-servlet.xml",
"classpath:appContext.xml",
"classpath:databaseContext.xml"})
public class Test {
@Autowired
private EventService evtService;
@org.junit.Test
public void test1(){
List<String> eventNames = evtService.getEventNames();
Assert.assertTrue(eventNames.size() > 0);
}
}
在POM中:
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.7.2</version>
<configuration>
<parallel>classes</parallel>
<threadCount>10</threadCount>
</configuration>
</plugin>
当我使用Run as - &gt;从eclipse运行Test类时JUnit测试它工作正常,但是当我运行Maven Install时,我得到:
T E S T S
-------------------------------------------------------
Concurrency config is parallel='classes', perCoreThreadCount=true, threadCount=10, useUnlimitedThreads=false
There are no tests to run.
Results :
Tests run: 0, Failures: 0, Errors: 0, Skipped: 0
版本:JUnit:4.11;春天:3.2.3.RELEASE
答案 0 :(得分:4)
如果您在问题中的提及是正确的The test class in src/main/test
,那么这是一个简单的问题,因此必须将原因测试放在/src/test/java
中。
答案 1 :(得分:1)
您是否从某个父级继承此POM?因为surefire-plugin
的此配置可能在您的父级中,导致您的测试被跳过。
<configuration>
<skipTests>true</skipTests>
</configuration>
因此,您需要从父项中删除skipTests
属性,或者在子项目中明确允许测试。