使用Jersey测试框架的jUnit测试单独运行但不能一起运行

时间:2018-04-17 12:41:00

标签: java unit-testing junit jersey-test-framework

我正在运行jersey-test-framework-provider-inmemory和jersey-test-framework-core两个版本2.26。

我遇到的问题是我能够自己运行每个测试并按预期运行。但是,每当我一起运行三个测试时,当我期待200个时,其中两个总是返回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());
}

任何建议或建议将不胜感激。

0 个答案:

没有答案