我做了一个测试用例来测试我的Rest Web服务。但在测试用例中,我发现请求是默认的泽西测试框架端口http://localhost:9998
,而我的服务是http://localhost:8080
上的注册。我无法找到如何将其端口更改为8080
public class UMServiceTest extends JerseyTest {
@Override
public Application configure() {
enable(TestProperties.LOG_TRAFFIC);
enable(TestProperties.DUMP_ENTITY);
return new ResourceConfig(UMService.class);
}
@Test
public void testFetchAll() {
System.out.println(getBaseUri()+"==========");
Response output = target("usermanagement").path("um").path("user").request().get();
assertEquals("should return status 200", 200, output.getStatus());
//assertNotNull("Should return list", output.getEntity());
}
答案 0 :(得分:3)
您可以在运行测试时提供命令行参数,例如
的Maven
的 mvn yourpack.UMServiceTest -Djersey.config.test.container.port=8080
强>
或者在eclipse中你可以在运行配置'参数'标签中传递它
答案 1 :(得分:1)
除了kuhajeyan的回答,还有JerseyTest端口的maven配置:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
....
<systemProperties>
<property>
<name>jersey.config.test.container.port</name>
<value>4410</value>
</property>
</systemProperties>
</configuration>
</plugin>
答案 2 :(得分:1)
您也可以从JerseyProtest的TestProperties中更改系统属性。
public class UMServiceTest extends JerseyTest
{
static
{
System.setProperty("jersey.config.test.container.port", "0");
}
...
答案 3 :(得分:0)
从 Jersey 2.33 开始,configure
方法可以设置为来自 Jersey Docs 的以下示例
@Override
protected Application configure() {
// Find first available port.
forceSet(TestProperties.CONTAINER_PORT, "0");
return new ResourceConfig(Resource.class);
}
如果使用 configureDeployment
指定资源,可以使用以下方法。
@BeforeClass
public static void beforeClass() {
System.setProperty(
// Use a random available port
"jersey.config.test.container.port", String.valueOf(SocketUtils.findAvailableTcpPort()));
}
@AfterClass
public static void afterClass() {
System.clearProperty("jersey.config.test.container.port");
}
@Override
protected DeploymentContext configureDeployment() {
return ServletDeploymentContext.forServlet(
new ServletContainer(ResourceConfig.forApplicationClass(TestApplication.class)))
.contextPath("/cas/api")
.build();
}
来源:https://eclipse-ee4j.github.io/jersey.github.io/documentation/latest/test-framework.html#parallel