{"id":21183452,"url":"https://github.com/jgleitz/atrium-gradle-testkit","last_synced_at":"2025-10-23T17:03:55.025Z","repository":{"id":38296689,"uuid":"299617147","full_name":"jGleitz/atrium-gradle-testkit","owner":"jGleitz","description":"Atrium assertions to test Gradle plugins with TestKit","archived":false,"fork":false,"pushed_at":"2025-06-04T21:38:19.000Z","size":2043,"stargazers_count":0,"open_issues_count":6,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-06-09T22:04:44.073Z","etag":null,"topics":["atrium","gradle","kotlin","testing"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","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/jGleitz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-09-29T12:55:13.000Z","updated_at":"2025-06-04T21:38:19.000Z","dependencies_parsed_at":"2023-02-04T09:00:46.557Z","dependency_job_id":"84e17e35-008e-43ad-a571-894d5ec12a77","html_url":"https://github.com/jGleitz/atrium-gradle-testkit","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/jGleitz/atrium-gradle-testkit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jGleitz%2Fatrium-gradle-testkit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jGleitz%2Fatrium-gradle-testkit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jGleitz%2Fatrium-gradle-testkit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jGleitz%2Fatrium-gradle-testkit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jGleitz","download_url":"https://codeload.github.com/jGleitz/atrium-gradle-testkit/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jGleitz%2Fatrium-gradle-testkit/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261238890,"owners_count":23128878,"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":["atrium","gradle","kotlin","testing"],"created_at":"2024-11-20T18:00:27.914Z","updated_at":"2025-10-23T17:03:54.942Z","avatar_url":"https://github.com/jGleitz.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"# atrium-gradle-testkit [![CI Status](https://github.com/jGleitz/atrium-gradle-testkit/workflows/CI/badge.svg)](https://github.com/jGleitz/atrium-gradle-testkit/actions) [![Maven Central](https://maven-badges.herokuapp.com/maven-central/de.joshuagleitze/atrium-gradle-testkit-fluent-en/badge.svg)](https://maven-badges.herokuapp.com/maven-central/de.joshuagleitze/atrium-gradle-testkit-fluent-en)\n\n[Atrium](https://github.com/robstoll/atrium) assertions to test [Gradle plugins with TestKit](https://docs.gradle.org/current/userguide/test_kit.html).\n\n[:point_right: **Documentation of all assertions**](https://jgleitz.github.io/atrium-gradle-testkit/apis/atrium-gradle-testkit-fluent-en/atrium-gradle-testkit-fluent-en/de.joshuagleitze.test.gradle/)\n\n## Example\n\nHere is how you can use this library to test Gradle plugins.\nThe example uses [Spek](https://www.spekframework.org/) with [spek-testfiles](https://github.com/jGleitz/spek-testfiles).\nYou can see the whole example in the [`example-project` folder](./example-project). \n\n```kotlin\nobject KotlinPluginSpek: Spek({\n\tval testFiles = testFiles()\n\tval projectDir by memoized(SCOPE) { testFiles.createDirectory(\"testProject\") }\n\n\tdescribe(\"run\") {\n\t\tit(\"compiles the Kotlin code and runs it\") {\n\t\t\tval runResult = GradleRunner.create()\n\t\t\t\t.forwardOutput()\n\t\t\t\t.withProjectDir(projectDir.toFile())\n\t\t\t\t.withArguments(\"run\")\n\t\t\t\t.build()\n\n\t\t\texpect(runResult) {\n\t\t\t\ttask(\":compileKotlin\").wasSuccessful()\n\t\t\t\ttask(\":classes\").wasInvoked()\n\t\t\t\toutput.contains(\"Hello World!\")\n\t\t\t}\n\t\t}\n\t}\n\n\tbeforeGroup {\n\t\t/* set up the gradle project */\n\t}\n})\n```\n\n## [Contributions welcome](http://contributionswelcome.org/)\n\nAll contributions (no matter if small) are always welcome.\n\nApplying the [YAGNI principle](https://wikipedia.org/wiki/YAGNI), this library only provides the functionality that was needed by someone.\nIf you have any idea for how this library could be more useful, please [create an issue](https://github.com/jGleitz/atrium-gradle-testkit/issues/new)!\nIdeas for improvements are always welcome.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjgleitz%2Fatrium-gradle-testkit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjgleitz%2Fatrium-gradle-testkit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjgleitz%2Fatrium-gradle-testkit/lists"}