Skip to content

Latest commit

 

History

History
75 lines (55 loc) · 1.41 KB

README.md

File metadata and controls

75 lines (55 loc) · 1.41 KB

This plugin allows you to start up docker containers for testing.

Configure the plugin and test annotations

plugins {
    id "io.advantageous.docker-test" version "0.1.2"
}
...

//For docker test annotations
dependencies {
    testCompile 'io.advantageous.gradle:docker-test-plugin:0.1.0'
}

//Exclude docker tests as unit tests
test {
    useJUnit {
        excludeCategories 'io.advantageous.test.DockerTest'
    }
}

Configure your test containers in your build

testDockerContainers {
    postgresql {
        publishAll true
        containerName "postgresql"
        env (name:"PGSQL_ROLE_1_USERNAME", value:"docker")
        env ("PGSQL_ROLE_1_PASSWORD":"docker", "PGSQL_DB_1_NAME":"mydb")
        portMapping(container: 5432, host: 5432)
        image "tozd/postgresql:9.5"
        waitAfterRun 20
    }

    
    cassandra {
        publishAll true
        containerName "cassandra"
        portMapping(container: 9042, host: 9042)
        image "cassandra:2.2.5"
        waitAfterRun 20
    }
}

Start test containers for testing in your IDE

$ gradle startTestDocker

Mark your test classes that need these containers

import io.advantageous.test.DockerTest

@Category(DockerTest::class)
public class FanCountBackFillJobTest {
    @Test
    fun doRun() {

To run tests that need docker use dockerTest

$ gradle clean dockerTest build