Method index

    Chapter: Mocking
    builds a regular mock

    spyk<T>()

    Chapter: Spy on existing classes
    builds a spy using the default constructor

    spyk(obj)

    Chapter: Spy on existing classes
    builds a spy by copying from obj

    slot

    Chapter: Capture arguments to check later
    creates a capturing slot

    every

    Chapter: Stub out behaviour
    starts a stubbing block

    coEvery

    Chapter: Coroutines and suspend functions
    starts a stubbing block for coroutines

    verify

    Chapter: Verify that functions were called
    starts a verification block

    coVerify

    Chapter: Coroutines and suspend functions
    starts a verification block for coroutines

    verifyAll

    Chapter: Verify that functions were called
    starts a verification block that should include all calls

    coVerifyAll

    Chapter: Coroutines and suspend functions
    starts a verification block that should include all calls for coroutines

    verifyOrder

    Chapter: Verify that functions were called
    starts a verification block that checks the order

    coVerifyOrder

    Chapter: Coroutines and suspend functions
    starts a verification block that checks the order for coroutines

    verifySequence

    Chapter: Verify that functions were called
    starts a verification block that checks whether all calls were made in a specified sequence

    coVerifySequence

    Chapter: Coroutines and suspend functions
    starts a verification block that checks whether all calls were made in a specified sequence for coroutines

    excludeRecords

    Chapter: Verify that functions were called
    exclude some calls from being recorded

    confirmVerified

    Chapter: Verify that functions were called
    confirms that all recorded calls were verified

    clearMocks

    Chapter: Clear state
    clears specified mocks

    registerInstanceFactory

    Chapter: TODO
    allows you to redefine the way of instantiation for certain object

    mockkClass

    Chapter: TODO
    builds a regular mock by passing the class as parameter

    mockkObject

    Chapter: Mock singleton objects and static methods
    makes an object an object mock or clears it if was already transformed

    unmockkObject

    Chapter: Mock singleton objects and static methods
    makes an object mock back to a regular object

    mockkStatic

    Chapter: Mock singleton objects and static methods
    makes a static mock out of a class or clears it if it was already transformed

    unmockkStatic

    Chapter: Mock singleton objects and static methods
    makes a static mock back to a regular class

    clearStaticMockk

    Chapter: TODO
    clears a static mock

    mockkConstructor

    Chapter:
    makes a constructor mock out of a class or clears it if it was already transformed

    unmockkConstructor

    Chapter:
    makes a constructor mock back to a regular class

    clearConstructorMockk

    Chapter: TODO
    clears the constructor mock

    unmockkAll

    Chapter: TODO
    unmocks object, static and constructor mocks

    clearAllMocks

    Chapter: TODO
    clears regular, object, static and constructor mocks

    Matchers

    By default, simple arguments are matched using eq().

    any()

    Chapter:
    matches any argument

    allAny()

    Chapter:
    special matcher that uses any() instead of eq() for matchers that are provided as simple arguments

    isNull()

    Chapter: TODO
    checks if the value is null

    isNull(inverse=true)

    Chapter: TODO
    checks if the value is not null

    ofType(type)

    Chapter:
    checks if the value belongs to the type

    match { it.startsWith("string") }

    Chapter: TODO
    matches via the passed predicate

    coMatch { it.startsWith("string") }

    Chapter: TODO
    matches via the passed coroutine predicate

    matchNullable { it?.startsWith("string") }

    Chapter: TODO
    matches nullable value via the passed predicate

    coMatchNullable { it?.startsWith("string") }

    Chapter: TODO
    matches nullable value via the passed coroutine predicate

    eq(value)

    Chapter:
    matches if the value is equal to the provided value via the deepEquals function

    eq(value, inverse=true))

    Chapter:
    matches if the value is not equal to the provided value via deepEquals function

    refEq(value)

    Chapter:
    matches if the value is equal to the provided value via reference comparison

    refEq(value, inverse=true)

    Chapter:
    matches if the value is not equal to the provided value via reference comparison

    nrefEq(value)

    Chapter:
    matches if the value is not equal to the provided value via reference comparison

    cmpEq(value)

    Chapter:
    matches if the value is equal to the provided value via the compareTo function

    less(value)

    Chapter:
    matches if the value is less than the provided value via the compareTo function

    more(value)

    Chapter:
    matches if the value is more than the provided value via the function

    less(value, andEquals=true)

    Chapter:
    matches if the value is less than or equal to the provided value via the compareTo function

    more(value, andEquals=true)

    Chapter:
    matches if the value is more than or equal to the provided value via the compareTo function

    range(from, to, fromInclusive=true, toInclusive=true)

    Chapter:
    matches if the value is in range via the compareTo function

    and(left, right)

    Chapter:
    combines two matchers via a logical and

    or(left, right)

    Chapter:
    combines two matchers via a logical or

    not(matcher)

    Chapter:
    negates the matcher

    capture(slot)

    Chapter:
    captures a value to a CapturingSlot

    capture(mutableList)

    Chapter:
    captures a value to a list

    captureNullable(mutableList)

    Chapter:
    captures a value to a list together with null values

    captureLambda()

    Chapter:
    captures a lambda

    captureCoroutine()

    Chapter:
    captures a coroutine

    invoke(...)

    Chapter: TODO
    calls a matched argument

    coInvoke(...)

    Chapter: TODO
    calls a matched argument for a coroutine

    hint(cls)

    Chapter: TODO
    hints the next return type in case it’s gotten erased

    anyVararg()

    Chapter: TODO
    matches any elements in a vararg

    varargAny(matcher)

    Chapter: TODO
    matches if any element is matching the matcher

    varargAll(matcher)

    Chapter: TODO
    matches if all elements are matching the matcher

    any...Vararg()

    Chapter: TODO
    matches any elements in vararg (specific to primitive type)

    varargAny...(matcher)

    Chapter: TODO
    matches if any element is matching the matcher (specific to the primitive type)

    varargAll...(matcher)

    Chapter: TODO
    matches if all elements are matching the matcher (specific to the primitive type)

    A few special matchers available in verification mode only:

    withArg { code }

    Chapter: Assertions with an argument
    matches any value and allows to execute some code

    withNullableArg { code }

    Chapter: Assertions with an argument
    matches any nullable value and allows to execute some code

    coWithArg { code }

    Chapter: TODO
    matches any value and allows to execute some coroutine code

    coWithNullableArg { code }

    Chapter: TODO
    matches any nullable value and allows to execute some coroutine code

    verify { mock.call() }

    Chapter: TODO
    Do unordered verification that a call was performed

    verify(inverse=true) { mock.call() }

    Chapter: TODO
    Do unordered verification that a call was not performed

    verify(atLeast=n) { mock.call() }

    Chapter: TODO
    Do unordered verification that a call was performed at least n times

    verify(atMost=n) { mock.call() }

    Chapter: TODO
    Do unordered verification that a call was performed at most n times

    verify(exactly=n) { mock.call() }

    Chapter: TODO
    Do unordered verification that a call was performed exactly n times

    verifyAll { mock.call1(); mock.call2() }

    Chapter: TODO
    Do unordered verification that only the specified calls were executed for the mentioned mocks

    verifyOrder { mock.call1(); mock.call2() }

    Chapter: TODO
    Do verification that the sequence of calls went one after another

    verifySequence { mock.call1(); mock.call2() }

    Chapter: TODO
    Do verification that only the specified sequence of calls were executed for the mentioned mocks

    verify { mock wasNot Called }

    Chapter: TODO
    Do verification that a list of mocks were not called

    Answers

    An Answer can be followed up by one or more additional answers.

    returns value

    Chapter: TODO
    specify that the matched call returns a specified value

    returnsMany list

    Chapter: TODO
    specify that the matched call returns a value from the list, with subsequent calls returning the next element

    throws ex

    Chapter: TODO
    specify that the matched call throws an exception

    answers { code }

    Chapter: TODO
    specify that the matched call answers with a code block scoped with answer scope

    coAnswers { code }

    Chapter: TODO
    specify that the matched call answers with a coroutine code block with answer scope

    answers answerObj

    Chapter: TODO
    specify that the matched call answers with an Answer object

    answers { nothing }

    Chapter: TODO
    specify that the matched call answers null

    just Runs

    Chapter: TODO
    specify that the matched call is returning Unit (returns null)

    propertyType Class

    Chapter: TODO
    specify the type of backing field accessor

    nullablePropertyType Class

    Chapter: TODO
    specify the type of backing field accessor as a nullable type

    A next answer is returned on each consequent call and the last value is persisted. So this is similar to the returnsMany semantics.

    andThen value

    Chapter: TODO
    specify that the matched call returns one specified value

    andThenMany list

    Chapter: TODO
    specify that the matched call returns value from the list, returning each time next element

    andThenThrows ex

    Chapter: TODO
    specify that the matched call throws an exception

    andThen { code }

    Chapter: TODO
    specify that the matched call answers with a code block scoped with answer scope

    coAndThen { code }

    Chapter: TODO
    specify that the matched call answers with a coroutine code block with answer scope

    andThenAnswer answerObj

    Chapter: TODO
    specify that the matched call answers with an Answer object

    andThen { nothing }

    Chapter: TODO
    specify that the matched call answers null

    Answer scope

    call

    Chapter: TODO
    a call object that consists of an invocation and a matcher

    invocation

    Chapter: TODO
    contains information regarding the actual function invoked

    matcher

    Chapter: TODO
    contains information regarding the matcher used to match the invocation

    self

    Chapter: TODO
    reference to the object invocation made

    method

    Chapter: TODO
    reference to the function invocation made

    args

    Chapter: TODO
    reference to the arguments of invocation

    nArgs

    Chapter: TODO
    number of invocation argument

    arg(n)

    Chapter: TODO
    n-th argument

    firstArg()

    Chapter: TODO
    first argument

    secondArg()

    Chapter: TODO
    second argument

    thirdArg()

    Chapter: TODO
    third argument

    lastArg()

    Chapter: TODO
    last argument

    captured()

    Chapter: TODO
    the last element in the list for convenience when capturing to a list

    lambda<...>().invoke()

    Chapter: TODO
    call the captured lambda

    coroutine<...>().coInvoke()

    Chapter: TODO
    call the captured coroutine

    nothing

    Chapter: TODO
    null value for returning nothing as an answer

    fieldValue

    Chapter: TODO
    accessor to the property backing field

    fieldValueAny

    Chapter: TODO
    accessor to the property backing field with Any? type

    value

    Chapter: TODO
    value being set casted to same type as the property backing field

    valueAny

    Chapter: TODO
    value being set with Any? type

    position

    nArgs

    Chapter: TODO
    overall count of arguments in vararg array