我正试图通过查看我的客户端发送的HTTP
来弄清楚如何调试我的测试testPutActivitity(com.lm.controller.JaxRSActivatorTest) Time elapsed: 0.521 sec <<< FAILURE!
java.lang.AssertionError: expected:<404> but was:<200>
at org.junit.Assert.fail(Assert.java:88)
at org.junit.Assert.failNotEquals(Assert.java:743)
at org.junit.Assert.assertEquals(Assert.java:118)
at org.junit.Assert.assertEquals(Assert.java:555)
at org.junit.Assert.assertEquals(Assert.java:542)
at com.lm.controller.JaxRSActivatorTest.testPutActivitity(JaxRSActivatorTest.java:44)
使用新的服务器,有些东西似乎已经改变了,所以我发现的文档似乎不再相关。
我想知道的是如何查看从客户端传输的HTTP请求/响应? (如果重要的话我应该使用RESTEasy客户端)
package com.lm.controller;
import com.lm.test.RESTCtrlTestBase;
import static com.lm.test.TestUtil.testWar;
import javax.ws.rs.client.Client;
import javax.ws.rs.client.ClientBuilder;
import javax.ws.rs.client.WebTarget;
import javax.ws.rs.core.Response;
import org.jboss.arquillian.container.test.api.Deployment;
import org.jboss.shrinkwrap.api.Filters;
import org.jboss.shrinkwrap.api.spec.WebArchive;
import static org.junit.Assert.assertEquals;
import org.junit.Test;
public class RootTest extends RESTCtrlTestBase {
public RootTest() {
}
Client client = ClientBuilder.newClient();
@Deployment( testable = false )
public static WebArchive createDeployment() {
WebArchive ar = testWar()
.addPackages(
false,
Filters.exclude( ".*Test.*" ),
"com.lm.controller",
"com.lm.activity"
);
// System.out.println( "ar = " + ar.toString( true ) );
return ar;
}
@Test
public void getRoot() {
WebTarget target = client.target( deploymentURI );
log.debug( "targetURI = {}", target.getUri() );
Response res = target.request().get();
assertEquals( 200, res.getStatus() );
}
}
我已经尝试编写interceptor,但它并没有完全按照传输的方式输出请求/响应,它似乎只是为服务器而不是上面的测试客户端加载。