jGleitz / atrium-gradle-testkit

Atrium assertions to test Gradle plugins with TestKit

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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 */
	}
})

Contributions welcome

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.

About

Atrium assertions to test Gradle plugins with TestKit

License:MIT License


Languages

Language:Kotlin 100.0%