当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
和get access denied错误。我希望它开始测试127.0.0.1,但不知道如何。但是如果我运行gwt插件,不是gwt:test,而是gwt:run,它在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上开始测试呢?
测试使用InetAddress.getLocalHost()
.getHostAddress()
,因此除了更改InetAddress.getLocalHost()
的JVM行为之外,没有办法更改它。JUnitShell
的行为是允许远程测试而不需要重新配置(与需要-bindAddress
的DevMode相反)。
一个解决方案是创建一个自定义的"运行样式"继承com.google.gwt.junit.RunStyleHtmlUnit
和覆盖getLocalHostName()
返回127.0.0.1
,并通过<mode>name.of.your.CustomRunStyleHtmlUnit</mode>
使用它。