JUnit テストは Eclipse では問題なく実行されていますが、Maven で JUnit テストを正常に実行できません。デバッグ メッセージから解決できません。
Spring に依存していない他の JUnit テストは正常に動作しているため、これはおそらく Spring 構成と関係があります。
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
}