JAX-RS with Jersey:测试部署在 weblogic/JBoss 中的 REST 服务

发布于 2024-11-18 21:46:02 字数 545 浏览 2 评论 0原文

我正在尝试使用 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

爱格式化 2024-11-25 21:46:02

是的,这是可能的 - 您可以使用ExternalTestContainer并将其指向部署您的应用程序的url。

您需要添加依赖项:

       <dependency>
            <groupId>com.sun.jersey.jersey-test-framework</groupId>
            <artifactId>jersey-test-framework-external</artifactId>
            <version>${jersey.version}</version>
            <scope>test</scope>
       </dependency>

并运行测试,例如:

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:

       <dependency>
            <groupId>com.sun.jersey.jersey-test-framework</groupId>
            <artifactId>jersey-test-framework-external</artifactId>
            <version>${jersey.version}</version>
            <scope>test</scope>
       </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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文