我使用PaxExam成功运行了一系列集成测试。我使用Maven运行测试。测试的目的是测试通过在Karaf中运行的Apache CXF实现的REST Web服务。
测试在我的机器上运行但由于端口冲突而在Jenkins构建期间失败。 CXF使用端口8181,它似乎是默认的Jetty端口。有没有办法在测试套件中以声明方式或编程方式更改此端口?
我尝试使用此处列出的各种PaxExam选项:
http://team.ops4j.org/wiki/display/PAXEXAM3/Configuration+Options,但无济于事。
谢谢。
答案 0 :(得分: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如何在Karaf Regression Test进行回归测试,或者查看Pax-Web Integration Tests处的pax-web迭代