使用mvn verify
对我的webapp执行集成测试时获取以下异常。集成测试只是使用HtmlUnit加载服务器URL并检查状态代码200.不确定我在这里缺少什么。看起来资源过滤在这里没有按预期工作。请指导。
-------------------------------------------------------
T E S T S
-------------------------------------------------------
Running com.study.jenkins.it.htmlunit.PageIT
Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.951 sec <<< FAILURE! - in com.study.jenkins.it.htmlunit.PageIT
testScenario(com.study.jenkins.it.htmlunit.PageIT) Time elapsed: 0.949 sec <<< ERROR!
java.net.MalformedURLException: no protocol: ${server.url}
at java.net.URL.<init>(URL.java:585)
at java.net.URL.<init>(URL.java:482)
at java.net.URL.<init>(URL.java:431)
at com.gargoylesoftware.htmlunit.util.URLCreator.toNormalUrl(URLCreator.java:36)
at com.gargoylesoftware.htmlunit.util.URLCreator$URLCreatorStandard.toUrlUnsafeClassic(URLCreator.java:82)
at com.gargoylesoftware.htmlunit.util.UrlUtils.toUrlUnsafe(UrlUtils.java:195)
at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:359)
at com.study.jenkins.it.htmlunit.PageIT.testScenario(PageIT.java:12)
Running com.study.jenkins.it.selenium.PageIT
<properties>
<dev.tc.base.url>http://dev-server.com</dev.tc.base.url>
<tst.tc.base.url>http://tst-server.com</tst.tc.base.url>
</properties>
<build>
<finalName>${project.artifactId}</finalName>
<resources>
<resource>
<directory>src/test/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
</build>
<profiles>
<profile>
<id>dev</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<server.url>${dev.tc.base.url}/cicd-demo/</server.url>
</properties>
</profile>
<profile>
<id>tst</id>
<properties>
<server.url>${tst.tc.base.url}/cicd-demo/</server.url>
</properties>
</profile>
</profiles>
server.url=${server.url}
答案 0 :(得分:0)
找到了测试资源过滤问题的解决方案。
替换
<resources>
<resource>
<directory>src/test/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
带
<testResources>
<testResource>
<directory>src/test/resources</directory>
<filtering>true</filtering>
</testResource>
</testResources>