Skip to content

Atrium assertions to test Gradle plugins with TestKit

License

Notifications You must be signed in to change notification settings

jGleitz/atrium-gradle-testkit

Repository files navigation

atrium-gradle-testkit CI Status Maven Central

Atrium assertions to test Gradle plugins with TestKit.

👉 Documentation of all assertions

Example

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.