Maven 无法成功运行我的 JUnit 测试,尽管它们在我的 Eclipse 上运行没有任何问题。我无法从调试消息中解决它。
这可能与 Spring 配置有关,因为我的其他不依赖 Spring 的 JUnit 测试工作正常。
将surefire 插件 forkMode 添加为 Always 也不起作用。
Maven 输出
mvn install ... ... [INFO] --- maven-surefire-plugin:2.10:test (default-test) @ AppServer --- [INFO] Surefire 报告目录:C:..\surefire-reports
运行 com.ws.impl.BrowserServiceImplTest 测试运行:2,失败:2,错误:0,跳过:0,经过时间:0.016 秒 <<< 失败!
测试失败:com.ws.impl.BrowserServiceImplTest.testGetStatuses()
com.ws.impl.BrowserServiceImplTest.testGetSellers()
测试班
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:test-context.xml")
public class BrowserServiceImplTest {
@Autowired
private BrowserServiceImpl browserServiceImpl;
@Test
public void testGetStatuses() {
// test code
}
// more code
}
万无一失的报告
<failure type="java.lang.NullPointerException">java.lang.NullPointerException
at com.ws.impl.BrowserServiceImplTest.testGetStatuses(BrowserServiceImplTest.java:48)
</failure>
编辑
第 48-49 行
List<String> statuses = browserServiceImpl.getStatuses();
assertEquals(12, statuses.size());
编辑 2
测试上下文.xml
<bean id="browserSvc" class="com.ws.impl.BrowserServiceImpl">
<property name="filterOptionsService" ref="filterOptionsService" />
</bean>
BrowserServiceImpl.java
@WebService(targetNamespace = "http://abc.def.com", portName = "BrowserPort", serviceName = "BrowserService")
public class BrowserServiceImpl implements BrowserService {
private FilterOptionsService filterOptionsService;
// more code
}