我正在运行 jersey-test-framework-provider-inmemory 和 jersey-test-framework-core 两个版本 2.26。
我遇到的问题是我能够自己运行每个测试并且它们按预期运行。但是,每当我同时运行这三个测试时,其中两个总是返回 404,而我期待 200。
正在测试的 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());
}
任何意见或建议将不胜感激。