gwt-maven-plugin在错误的地址上运行测试

时间:2015-10-23 13:22:51

标签: maven gwt gwt-maven-plugin

当maven使用gwt-maven-plugin开始测试时,它启动服务器,并使用错误的ip,在我的情况下

Starting http://10.0.14.67:60281/com.something.GwtTest.JUnit/junit-standards.html?gwt.codesvr=10.0.14.67:60278 on browser FF17

并获取访问被拒绝错误。我希望它在127.0.0.1上开始测试,但不知道如何。但是,如果我运行gwt插件,而不是gwt:test但gwt:运行它从127.0.0.1开始,一切正常! 我在maven插件中有这样的配置

<failOnError>true</failOnError>
                    <runTarget>http://127.0.0.1:8080/</runTarget>
                    <hostedWebapp>${project.build.directory}/${project.build.finalName}-gwt</hostedWebapp>
                    <noServer>true</noServer>

                    <includes>**/*TestSuiteGWT.java</includes>
                    <mode>htmlunit</mode>

那我怎么能让它在相同的127.0.0.1上开始测试?

1 个答案:

答案 0 :(得分:2)

测试使用InetAddress.getLocalHost() .getHostAddress(),因此除了更改InetAddress.getLocalHost()的JVM行为外,无法更改它。
JUnitShell的行为是允许remote testing而无需重新配置(与需要-bindAddress的DevMode相反)。

解决方案是创建一个自定义&#34;运行风格&#34;继承com.google.gwt.junit.RunStyleHtmlUnit并覆盖getLocalHostName()以返回127.0.0.1,并通过<mode>name.of.your.CustomRunStyleHtmlUnit</mode>使用它。