{"id":21940136,"url":"https://github.com/softeq/itest-gradle-plugin","last_synced_at":"2025-06-21T05:37:41.613Z","repository":{"id":47445582,"uuid":"217500469","full_name":"Softeq/itest-gradle-plugin","owner":"Softeq","description":"Integration testing plugin for the Gradle. It allow in simple way to add and execute integration tests in the Java project","archived":false,"fork":false,"pushed_at":"2021-08-31T16:23:10.000Z","size":156,"stargazers_count":18,"open_issues_count":0,"forks_count":1,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-05-08T10:47:12.045Z","etag":null,"topics":["gradle","gradle-plugin","gradle-plugin-test","groovy","integration-testing","junit5","testng"],"latest_commit_sha":null,"homepage":"https://softeq.github.io/itest-gradle-plugin/","language":"Groovy","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Softeq.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-10-25T09:32:41.000Z","updated_at":"2024-05-20T08:05:18.000Z","dependencies_parsed_at":"2022-08-17T14:46:02.390Z","dependency_job_id":null,"html_url":"https://github.com/Softeq/itest-gradle-plugin","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Softeq/itest-gradle-plugin","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Softeq%2Fitest-gradle-plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Softeq%2Fitest-gradle-plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Softeq%2Fitest-gradle-plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Softeq%2Fitest-gradle-plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Softeq","download_url":"https://codeload.github.com/Softeq/itest-gradle-plugin/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Softeq%2Fitest-gradle-plugin/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261070790,"owners_count":23105495,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["gradle","gradle-plugin","gradle-plugin-test","groovy","integration-testing","junit5","testng"],"created_at":"2024-11-29T02:29:08.829Z","updated_at":"2025-06-21T05:37:36.598Z","avatar_url":"https://github.com/Softeq.png","language":"Groovy","readme":"## Gradle Integration Testing Plugin\n[![Build Status](https://travis-ci.org/Softeq/itest-gradle-plugin.svg?branch=master)](https://travis-ci.org/Softeq/itest-gradle-plugin)\n[![Coverage Status](https://coveralls.io/repos/github/Softeq/itest-gradle-plugin/badge.svg?branch=master)](https://coveralls.io/github/Softeq/itest-gradle-plugin?branch=master)\n[![Gradle Plugin](https://img.shields.io/maven-metadata/v.svg?label=gradle\u0026metadataUrl=https://plugins.gradle.org/m2/com/softeq/gradle/itest/com.softeq.gradle.itest.gradle.plugin/maven-metadata.xml)](https://plugins.gradle.org/plugin/com.softeq.gradle.itest)\n\nThere are plugin that allow to configure integration tests same way as unit tests in simple way\n\n## Build\n\nTo build the project it is require to execute \n```bash\n./gradlew clean build \n```\n\n## Documentation\n\nContent:\n1. [Quick Start](#quick-start)\n2. [Source Set](#source-set)\n3. [Integration Test Task](#integration-test-task)\n    - [JUnit 5](#junit-5)\n    - [TestNG](#testng)\n    - [Spock](#spock)\n4. [Dependencies Management](#dependencies-management)\n5. [Skip Tests](#skip-tests)\n6. [Configurable Parameters](#configurable-parameters)\n\n### Quick Start\n\nTo add ***itest*** plugin to your project it will require to add next code to the `build.gradle`\n```groovy\nplugins {\n    id 'com.softeq.gradle.itest' version '1.0.4'\n}\n```\n\nOr with Kotlin\n```kotlin\nplugins {\n  id(\"com.softeq.gradle.itest\") version \"1.0.4\" \n}\n```\n\nAfter that you will have possibilities to write tests to the **itest/** folder.\n\nTo run the tests you just need to execute in your project \n```bash\n./gradlew clean build\n```\n\n### Source Set\n\nThere are by default application add new source set to the project with name `itest`.\nTo change name of the source set it is possible to use `name` configuration parameter. In this case location of \nintegration test sources will be at folder with specified name.\n\nWith Groovy / Kotlin\n```groovy\nitestSourceSet {\n    name = \"integrationTest\"\n}\n``` \n\nAlso there are possible to customize compile classpath and runtime classpath of the source set\n\nGroovy\n```groovy\nitestSourceSet {\n    name = \"integrationTest\"\n    compileClasspath = sourceSets.main.compileClasspath\n    runtimeClasspath = sourceSets.main.runtimeClasspath\n}\n```\n\nKotlin \n```kotlin\nitestSourceSet {\n    name = \"integrationTest\"\n    compileClasspath = sourceSets[\"main\"].compileClasspath\n    runtimeClasspath = sourceSets[\"main\"].runtimeClasspath\n}\n```\n\n### Integration Test Task\n\nCurrent plugin also configure task `integrationTest` that extends standard `Test` task of the Gradle.\nConfiguration parameters for this task you may find \n[there](https://docs.gradle.org/current/dsl/org.gradle.api.tasks.testing.Test.html)\n\n#### JUnit 5\nTo add support of JUnit 5 you will require to specify at configuration task \n\nGroovy\n```groovy\nintegrationTest {\n    useJUnitPlatform()\n}\n```\n\nKotlin \n```kotlin\ntasks.withType\u003cTest\u003e {\n    useJUnitPlatform()\n}\n```\n\n#### TestNG\nTo use TestNG for integration testing of you application it will require to specify next configuration for the\n`integrationTest` task\n\nGroovy\n```groovy\nintegrationTest {\n    useTestNG()\n}\n```\n\nKotlin \n```kotlin\ntasks.withType\u003cTest\u003e {\n    useTestNG()\n}\n```\n\n#### Spock\n\nTo use Spock framework with the plugin it will require just to add the Spock dependencies\n\nGroovy / Kotlin\n```kotlin\ndependencies {\n    itestImplementation(\"org.spockframework:spock-core:1.3-groovy-2.5\")\n}\n```\n\n### Dependencies Management\n\nThere are possible to specify additional dependencies for the integration test classes\n\n| Standard Configuration| itest Configuration  | Description                       |\n|-----------------------|----------------------|-----------------------------------|\n| implementation        | itestImplementation  | Implementation dependencies scope |\n| compileOnly           | itestCompileOnly     | Compile Only dependencies scope   |\n| runtimeOnly           | itestRuntimeOnly     | Runtime Only dependencies scope   |\n\nYou can specify this dependencies in the `dependencies` section of the `build.gradle` file\n\nGroovy\n```groovy\ndependencies {\n    itestRuntimeOnly 'com.h2database:h2:1.0.60'\n}\n``` \n\nKotlin\n```kotlin\ndependencies {\n    itestRuntimeOnly(\"com.h2database:h2:1.0.60\")\n}\n```\n\n### Skip Tests\n\nTo skip integration tests you need to provide `-PdisableIntegrationTests` option to the gradle.\n\nFor instance\n```bash\ngradlew clean build -PdisableIntegrationTests\n```\n\nAlternative options to disable integration and unit tests you can find below\n\n```bash\ngradlew clean build -x test -x integrationTest\n```\n\n### Configurable Parameters\n\nThere are table with available plugin configuration parameters\n\n| Param            | Parent Configuration | Default Value | Description                       |\n|------------------|----------------------|---------------|-----------------------------------|\n| name             | itestSourceSet       | \"itest\"       | There are name of the folder with integration test sources |\n| compileClasspath | itestSourceSet       | Main SourceSet output and classpath | There are classpath of the compiler to build integration tests |\n| runtimeClasspath | itestSourceSet       | Main SourceSet output and runtime classpath | There are runtime classpath that will be used during integration tests evaluation | \n| [Gradle Test Params](https://docs.gradle.org/current/dsl/org.gradle.api.tasks.testing.Test.html) | integrationTest | - | There are standard Gradle Test task configuration |\n| useJUnitPlatform() | integrationTest | - | There are option to enable JUnit 5 tests execution |\n| useTestNG()        | integrationTest | - | There are option to enable TestNG evaluation support |\n\n## License\n\nMIT\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsofteq%2Fitest-gradle-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsofteq%2Fitest-gradle-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsofteq%2Fitest-gradle-plugin/lists"}