0

jersey-test-framework-provider-inmemory と jersey-test-framework-core の両方のバージョン 2.26 を実行しています。

私が抱えている問題は、各テストを単独で実行でき、期待どおりに実行できることです。ただし、3 つのテストを一緒に実行すると、200 を期待しているときに、そのうちの 2 つが常に 404 を返します。

テスト対象の API は外部 XML API を呼び出し、データを JSON に変換してクライアントに返します。

なぜこれらのテストがグループとして失敗するのか、私は一生ワークアウトできません。

私のコードは次のとおりです。

 @Override
public Application configure() {
    return super.configure(EnquiryResource.class);
}

 @Before
public void retrieveJWTToken() throws IOException {
    InputStream stream = Resources.getResource("jwt.token").openStream();
    this.TOKEN = IOUtils.toString(stream);
    stream.close();
}

@Test
public void testOne() {
    Response output = target("/").path(URL)
            .queryParam(OPTION1, YesNoType.YES)
            .queryParam(OPTION2, YesNoType.YES)
            .queryParam(OPTION3, YesNoType.YES)
            .queryParam(OPTION4, 36)
            .request().get();

    assertEquals("Should return 200", 200, output.getStatus());
}

 @Test
public void TestTwo() {
    Response output = target("/").path(URL).path(PARAM)
            .queryParam(OPTION1, YesNoType.YES)
            .queryParam(OPTION2, YesNoType.YES)
            .queryParam(OPTION3, YesNoType.YES)
            .request().get();

    assertEquals("Should return 204", 204, output.getStatus());
}

 @Test
public void TestThree() {
    Response output = target("/").path(INCORRECT_URL).path(PARAM)
           .queryParam(OPTION1, YesNoType.YES)
            .queryParam(OPTION2, YesNoType.YES)
            .queryParam(OPTION3, YesNoType.YES)
            .request().get();

    assertEquals("Should return 404", 404, output.getStatus());
}

アドバイスや推奨事項をいただければ幸いです。

4

0 に答える 0