TestNG、Jenkins、集成测试 RESTful API:如何指定基本 URL?
我正在用 Java 开发 RESTful Web 服务。对于集成测试,我使用一个单独的项目,该项目使用 jersey 客户端来访问 Web 服务。
在开发过程中,我将工件部署在本地 glassfish 上,因此集成测试的基本 URL 类似于 http://localhost:8080/MyWebApplication/myServlet/
。我从 Netbeans 中针对本地应用程序服务器运行集成测试。
我使用 jenkins 在测试系统上构建、部署和执行集成测试。一旦部署到测试系统上,基本 URL 就会不同,更像是这样:https://test.myproduct.com/myProductName/
。反向代理将流量路由到应用程序服务器。
现在,URL 是集成测试类之一中的final static String
。如何使用 get Jenkins(或 Netbeans,如果更容易的话)为集成测试提供基本 URL?
I'm developing a RESTful webservice in Java. For Integrationtesting I use a separate project, which uses the jersey client to access the webservice.
During development I deploy the artifacts on a local glassfish, so the Base URL for the Integrationtests is something like http://localhost:8080/MyWebApplication/myServlet/
. I run the integration tests from within Netbeans against the local appserver.
I use jenkins to build, deploy and execute the integration tests on the test system. Once deployed on the test system, the Base URL is different, more like this: https://test.myproduct.com/myProductName/
. Reverse proxies route the traffic to application servers.
Today the URL is a final static String
in one of the integrationtest classes. How can use get Jenkins (or Netbeans, if that's easier) to provide the Base URL to an integration test?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果您使用 Maven,自然的解决方案是使用不同的配置文件: http: //maven.apache.org/guides/introduction/introduction-to-profiles.html 对您的问题进行了讨论。在 Jenkins 中,您可以轻松选择正确的配置文件。
如果您不使用maven,解决方案仍然是不使用硬编码字符串值,而是从外部属性中获取值。
If you are using maven, the natural solution is to use different profiles: http://maven.apache.org/guides/introduction/introduction-to-profiles.html has a discussion of exactly your problem. In Jenkins you can easily pick the correct profile.
If you are not using maven, the solution is still to not use a hard coded string value, but to pick up the value from an external property.