Announcement Announcement Module
No announcement yet.
How to start Grails as a web app when runnning integration tests Page Title Module
Move Remove Collapse
Conversation Detail Module
  • Filter
  • Time
  • Show
Clear All
new posts

  • How to start Grails as a web app when runnning integration tests

    I'm trying to test my grails app using integration test that makes http requests. Actually it's a selenium/tellurium test, but it doesn't matter. But as i see when i running grails tests it doesn't starts web container, the same time i see many examples in blog articles that people tests grails app using selenium and other test tools that requires http access.

    I've create an empty grails app:

    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] ------------------------------------------------------------------------
    thats ok.

    and now add an integration test that tries to connect to grails test/integration/ListenPortTest.groovy:

    class ListenPortTest extends GroovyTestCase {
            void testPort(){
                    def s = new Socket("localhost", 8080);
    and run test again. Now we receive following exception:

    Connection refused Connection refused
    I've checked it also by using browser, wget and netstat, and looks like grails not started or not opened any port.

    And the question
    : How i can configure grails to open an port when executing integration tests?

    Asked also on stackoverflow:

  • #2
    Integration tests don't run in a servlet container. You need to install a functional test plugin, like "selenium-rc" and run: grails test-app functional:

    Hope that helps.