J'essaie de tester mon application grails en utilisant un test d'intégration qui effectue des requêtes http. En fait c'est un test sélénium/tellure, mais ça n'a pas d'importance. Mais comme je le vois quand je cours des tests de grails il ne démarre pas le conteneur web, en même temps je vois de nombreux exemples dans les articles de blog que les gens testent grails app utilisant sélénium et autres outils de test qui nécessite un accès http.Comment démarrer Grails en tant qu'application Web lors de l'exécution de tests d'intégration
J'ai créer une application de Grails vide:
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
des thats ok.
et maintenant ajouter un test d'intégration qui tente de se connecter à Grails test/integration/ListenPortTest.groovy
:
class ListenPortTest extends GroovyTestCase {
void testPort(){
def s = new Socket("localhost", 8080);
s.close()
}
}
et exécuter un nouveau test. Maintenant, nous recevons exception suivante:
Connection refused
java.net.ConnectException: Connection refused
....
Je l'ai vérifié aussi en utilisant le navigateur, wget et netstat, et ressemble à Grails pas démarré ou ouvert aucun port.
Et la question: Comment puis-je configurer Grails pour ouvrir un port lors de l'exécution des tests d'intégration?