我试图使用进行http请求的集成测试来测试我的grails应用程序。其实这是硒/碲测试,但没关系。但正如我所看到的,当我运行grails测试时,它并不启动web容器,同时我在博客文章中看到许多示例,人们使用selenium和其他需要http访问的测试工具来测试grails应用程序。如何在运行集成测试时启动Grails作为Web应用程序
我已经创建一个空的Grails应用程序:
mvn org.apache.maven.plugins:maven-archetype-plugin:2.0-alpha-4:generate -DarchetypeGroupId=org.grails -DarchetypeArtifactId=grails-maven-archetype -DarchetypeVersion=1.3.4 -DgroupId=example -DartifactId=testportapp
cd testportapp/
mvn initialize
mvn grails:test-app
Tests PASSED - view reports in target/test-reports
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
这就是确定。
现在添加试图连接到Grails的test/integration/ListenPortTest.groovy
集成测试:
class ListenPortTest extends GroovyTestCase {
void testPort(){
def s = new Socket("localhost", 8080);
s.close()
}
}
并再次运行测试。现在我们收到以下异常:
Connection refused
java.net.ConnectException: Connection refused
....
我也检查了它使用的浏览器,wget和netstat的,看起来像没有开始Grails的或者不打开任何端口。
而问题: 如何在执行集成测试时配置grails以打开端口?