1

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
}
4

0 回答 0