Kotlin
Clone or download
Latest commit c806979 Jul 10, 2018

README.md

Kluent

Kluent is a "Fluent Assertions" library written specifically for Kotlin.

It uses the Infix-Notations and Extension Functions of Kotlin to provide a fluent wrapper around the JUnit-Asserts and Mockito.

How to contribute

Contributors

Download

Platform Status
MacOs / Linux Build Status
Windows Build status

Changelog

Documentation


Include it via gradle/maven

Kluent is hosted here at jcenter

Kluent-Android is hosted here at jcenter

Gradle

Replace {version} with the current version

// Add jcenter as a repository for dependencies
repositories {
    jcenter()
}

dependencies {
    testImplementation 'org.amshove.kluent:kluent:{version}'

    // for Android:
    testImplementation 'org.amshove.kluent:kluent-android:{version}'
}

Maven

Replace {version} with the current version

<!-- Add jcenter as a repository for dependencies --> 
<repositories>
    <repository>
        <id>jcenter</id>
        <url>https://jcenter.bintray.com/</url>
    </repository>
</repositories>

<dependency>
    <groupId>org.amshove.kluent</groupId>
    <artifactId>kluent</artifactId>
    <version>{version}</version>
    <type>pom</type>
</dependency>

Examples

More examples can be seen on the Site or in the tests.

assertEquals

"hello" shouldEqual "hello"

assertNotEquals

"hello" shouldNotEqual "world"

Assert that an Array/Iterable contains something

val alice = Person("Alice", "Bob")
val jon = Person("Jon", "Doe")
val list = listOf(alice, jon)
list shouldContain jon

Stubbing

val stub = mock(Database::class)
val bob = Person("Bob", "Guy")
When calling stub.getPerson() itReturns bob

Using backticks

Every method that is included in Kluent also has a "backtick version", to make it feel more like a describing sentence.

Some examples:

assertEquals

"hello" `should equal` "hello"

assertNotEquals

"hello" `should not equal` "world"