1

我有一套使用 PaxExam 成功运行的集成测试。我使用 Maven 运行测试。测试的目的是测试通过在 Karaf 中运行的 Apache CXF 实现的 REST Web 服务。

测试在我的机器上运行,但在 Jenkins 构建期间由于端口冲突而失败。CXF 使用端口 8181,这似乎是默认的 Jetty 端口。有没有办法在测试套件中以声明方式或编程方式更改此端口?

我尝试使用此处列出的各种 PaxExam 选项:

http://team.ops4j.org/wiki/display/PAXEXAM3/Configuration+Options,但无济于事。

谢谢你。

4

1 回答 1

0

您使用 Pax-Exam-Karaf 还是使用普通的 Pax-Exam,如果是 Pax-Exam-Karaf,请使用以下配置:

KarafDistributionOption.editConfigurationFilePut("etc/org.ops4j.pax.web.cfg",
 "org.osgi.service.http.port", "alternative-port"),

如果是普通的 Pax-Exam:

systemProperty("org.osgi.service.http.port").value("8181")

您还可以在Karaf Regression Test中查看 Karaf 如何进行回归测试,或者在Pax-Web Integration Tests中查看 pax-web itests

于 2013-02-28T12:51:40.753 回答