Я пытаюсь протестировать свое приложение grails с помощью интеграционного теста, который отправляет http-запросы.На самом деле это тест на селен / теллур, но это не имеет значения.Но, как я вижу, когда я запускаю тесты Grails, он не запускает веб-контейнер, в то же время в статьях блога я вижу много примеров, когда люди тестируют приложение Grails с использованием селена и других инструментов тестирования, для которых требуется доступ по протоколу http.создаем пустое приложение 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 для открытия порта при выполнении интеграционных тестов?