1

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

0 に答える 0