Atrium assertions to test Gradle plugins with TestKit.
👉 Documentation of all assertions
Here is how you can use this library to test Gradle plugins.
The example uses Spek with spek-testfiles.
You can see the whole example in the example-project
folder.
object KotlinPluginSpek: Spek({
val testFiles = testFiles()
val projectDir by memoized(SCOPE) { testFiles.createDirectory("testProject") }
describe("run") {
it("compiles the Kotlin code and runs it") {
val runResult = GradleRunner.create()
.forwardOutput()
.withProjectDir(projectDir.toFile())
.withArguments("run")
.build()
expect(runResult) {
task(":compileKotlin").wasSuccessful()
task(":classes").wasInvoked()
output.contains("Hello World!")
}
}
}
beforeGroup {
/* set up the gradle project */
}
})
All contributions (no matter if small) are always welcome.
Applying the YAGNI principle, this library only provides the functionality that was needed by someone. If you have any idea for how this library could be more useful, please create an issue! Ideas for improvements are always welcome.