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

gwt-maven-plugin run tests on wrong address

提问人:Wizzard 提问时间:10/23/2015 最后编辑:Thomas BroyerWizzard 更新时间:10/23/2015 访问量:84

问:

当 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: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 上开始测试呢?

maven gwt gwt-maven-插件

评论


答:

2赞 Thomas Broyer 10/23/2015 #1

测试使用 InetAddress.getLocalHost(),因此除了更改 的 JVM 行为外,没有其他方法可以更改它。
该行为允许在不重新配置的情况下进行远程测试(与 DevMode 相反,后者需要 )。
.getHostAddress()InetAddress.getLocalHost()JUnitShell-bindAddress

一种解决方案是创建一个自定义的“运行样式”,继承并覆盖以返回,并通过 使用它。com.google.gwt.junit.RunStyleHtmlUnitgetLocalHostName()127.0.0.1<mode>name.of.your.CustomRunStyleHtmlUnit</mode>