Kass
0.4.1indexedFacilitates writing assertions and assumptions in tests, offering fluent syntax and error handling for failed assumptions, enabling seamless test execution and validation scenarios.
Facilitates writing assertions and assumptions in tests, offering fluent syntax and error handling for failed assumptions, enabling seamless test execution and validation scenarios.
Surfaced from shared tags and platforms — no rankings paid for.
Kotlin Common Assertions
Kass is a multiplatform library, supporting JVM, Android, iOS (x64, ARM, Simulator-ARM), JS.
assertThat(subject, statement) and assumeThat(subject, statement) both evaluate the given subject against a given statement, which can be written in a fluent style using the provided statement functions.
When an assumption fails, the test execution will stop at that point, throwing a FailedAssumption error.
To catch this error and fail silently, use testScenario(subjects) which takes a collection that
provides subjects and a lambda executed on a Scenario object that wraps each subject.
Use testHypothesis() to run a single test without an implicit subject.
When an assertion fails, tests fail normally.
fun some_hypothesis() = testHypothesis() {
// Given a non-null subject
val given = "a"
assumeThat(given, isNotNull())
// When some operation is performed
val result = lengthOperation(given)
// Then the result is as expected
assertThat(result, isEqualTo(1))
}
private val subjectList = listOf(null, "a", "b", "c")
fun some_scenario() = runScenario(subjectList) {
// Given a non-null subject
assumeThat(subject, isNotNull())
// When some operation is performed
val result = someOperation(subject)
// Then the result is as expected
assertThat(result, isEqualTo(expectedValue))
}