JAX-RS with Jersey:测试部署在 weblogic/JBoss 中的 REST 服务
我正在尝试使用 Jersey Test Framework 测试 REST 服务行家。当我使用 mvn test
运行测试时,它在 Grizzly Web Server 上运行它们并给出大量 ClassNotFoundException
。该服务在内部调用 EJB 和其他 SOAP 服务。我可以通过在 pom.xml 中添加依赖项来解决一些问题,但我觉得解决依赖项是非常繁琐的任务。
如果我在 weblogic 中部署该服务并使用 SoapUI 进行测试,它工作正常。未找到 ClassNotFoundException
。 难道不能测试我用来在 weblogic 中部署的其余 API 吗?
如果有人帮助我锻炼,我将非常感激。
谢谢,阿米特·帕特尔
I am trying to test a REST service using Jersey Test Framework with maven. When I run tests with mvn test
, it runs them on Grizzly Web Server and gives lots of ClassNotFoundException
. The service internally calls EJB and other SOAP services. I am able to resolve few by adding dependency in pom.xml but I feel it is very cumbersome task to resolve dependencies.
If I deploy the service in weblogic and test it with SoapUI, it works fine. No ClassNotFoundException
found.
Wouldn't it be possible to test the rest API which I used to deploy in weblogic?
I would very appreciate if someone help me to workout.
Thanks, Amit Patel
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
是的,这是可能的 - 您可以使用ExternalTestContainer并将其指向部署您的应用程序的url。
您需要添加依赖项:
并运行测试,例如:
mvn test -Djersey.test.containerFactory=com.sun.jersey.test.framework.spi.container.external.ExternalTestContainerFactory -Djersey.test.host=$appBaseUri - Djersey.test.port=$appPort
如果这只是测试框架,您可以省略“jersey.test.containerFactory”设置在你的 pom.xml 中声明的模块
Yes, it is possible - you can use ExternalTestContainer and point it to url where is your app deployed.
You'll need to add dependency:
and run your tests like:
mvn test -Djersey.test.containerFactory=com.sun.jersey.test.framework.spi.container.external.ExternalTestContainerFactory -Djersey.test.host=$appBaseUri -Djersey.test.port=$appPort
you can omit "jersey.test.containerFactory" settings if this is only test framework module declared in your pom.