All Types

io.kotest.core.config.AbstractProjectConfig

Project-wide configuration. Extensions returned by an instance of this class will be applied to all Spec and TestCases.

io.kotest.core.spec.AfterProject
io.kotest.core.runtime.AfterProjectListenerException
io.kotest.core.spec.AfterSpec
io.kotest.core.spec.AfterTest
io.kotest.core.spec.style.AnnotationSpec
io.kotlintest.specs.AnnotationSpec
io.kotest.core.spec.AroundSpecFn
io.kotest.core.spec.AroundTestFn
io.kotest.core.test.AssertionMode

AssertionMode is used to detect and warn a developer that a test does not execute any assertions. It is usually the case that if a test function does not execute some kind of assertion then the test is probably erroneous (see note). It is common to see junior developers write a test that does not actually test anything.

io.kotest.core.spec.AutoCloseable
io.kotest.core.spec.AutoScan
io.kotest.core.runtime.BeforeBeforeListenerException
io.kotest.core.spec.BeforeSpec
io.kotest.core.spec.BeforeTest
io.kotest.core.spec.style.BehaviorSpec
io.kotlintest.specs.BehaviorSpec
io.kotest.core.spec.style.BehaviorSpecDsl
io.kotest.core.spec.style.BehaviorSpecTestFactoryConfiguration
io.kotest.core.runtime.CallingThreadExecutionContext

Implementation of TimeoutExecutionContext to be used in environments which do not provide the ability to spawn threads, such as Javascript. All executions occur on the same thread as the caller. This means we cannot detect a deadlock in a test as we can on the JVM by running the test in a seperate thread.

io.kotest.core.spec.CompositeSpec
io.kotest.core.extensions.ConstructorExtension
io.kotest.core.spec.style.ContextScope
io.kotest.core.spec.style.DescribeSpec
io.kotlintest.specs.DescribeSpec
io.kotest.core.spec.style.DescribeSpecDsl

Defines the DSL for creating tests in the 'FunSpec' style

io.kotest.core.spec.style.DescribeSpecTestFactoryConfiguration
io.kotest.core.test.Description

The description gives the full path to a TestCase.

io.kotest.core.engine.discovery.Discovery

Scans for tests as specified by a DiscoveryRequest. DiscoveryExtension afterScan functions are applied after the scan is complete to optionally filter the returned classes.

io.kotest.core.extensions.DiscoveryExtension

Allows interception of the discovery phase of Kotest.

io.kotest.core.engine.discovery.DiscoveryFilter
io.kotest.core.listeners.DiscoveryListener
io.kotest.core.engine.discovery.DiscoveryRequest

DiscoveryRequest describes how to discover test classes.

io.kotest.core.engine.discovery.DiscoveryResult

Contains Spec classes discovered as part of a discovery request scan.

io.kotest.core.engine.discovery.DiscoverySelector
io.kotest.core.spec.DisplayName
io.kotest.core.spec.DoNotParallelize
io.kotest.core.spec.style.DslDrivenSpec
io.kotest.core.factory.DynamicTest

A DynamicTest is an intermediate test state held by a factory. Once the factory is added to a Spec and the spec is created, the factories dynamic tests will be added to the spec as fully fledged TestCases.

io.kotest.core.test.EnabledIf
io.kotest.core.runtime.ExecutorExecutionContext
io.kotest.core.spec.style.ExpectScope
io.kotest.core.spec.style.ExpectSpec
io.kotlintest.specs.ExpectSpec
io.kotest.core.spec.style.ExpectSpecDsl
io.kotest.core.spec.style.ExpectSpecTestFactoryConfiguration
io.kotest.core.extensions.Extension

What is an extension? - An extension allows your code to interact with the Kotest Engine, changing the behavior of the engine at runtime.

io.kotest.core.spec.FailureFirstSpecExecutionOrder

An implementation of SpecExecutionOrder which will run specs that contained a failed test on a previous run first, before specs where all the tests passed.

io.kotest.core.spec.style.FeatureScope
io.kotest.core.spec.style.FeatureSpec
io.kotlintest.specs.FeatureSpec
io.kotest.core.spec.style.FeatureSpecDsl
io.kotest.core.spec.style.FeatureSpecTestFactoryConfiguration
io.kotest.core.filters.Filter
io.kotest.core.spec.FinalizeSpec
io.kotest.core.spec.style.FreeSpec
io.kotlintest.specs.FreeSpec
io.kotest.core.spec.style.FreeSpecDsl
io.kotest.core.spec.style.FreeSpecScope
io.kotest.core.spec.style.FreeSpecTestFactoryConfiguration
io.kotest.core.engine.discovery.FullyQualifiedClassName
io.kotest.core.spec.style.FunSpec
io.kotlintest.specs.FunSpec
io.kotest.core.spec.style.FunSpecDsl

Defines the DSL for creating tests in the 'FunSpec' style

io.kotest.core.spec.style.FunSpecTestFactoryConfiguration
io.kotest.core.spec.style.GivenAndContext
io.kotest.core.spec.style.GivenContext
io.kotest.core.annotation.Ignored

Attach tag to io.kotest.core.spec.Spec, and that spec won't be instantiated or executed.

io.kotest.core.extensions.IgnoredSpecDiscoveryExtension
io.kotest.core.engine.InstancePerLeafSpecRunner
io.kotest.core.engine.InstancePerTestSpecRunner

Implementation of SpecRunner that executes each TestCase in a fresh instance of the Spec class.

io.kotest.core.spec.IsolationMode
io.kotest.core.engine.IsolationTestEngineListener
io.kotest.core.spec.JsTest

The annotation JsTest is intercepted by the kotlin.js framework adapter to generate tests. It is simply an alias to kotlin.test.Test on the JS target.

io.kotest.core.spec.Junit5EnabledIfSystemProperty
io.kotest.core.spec.Junit5TestFactory
(extensions in package io.kotest.core.spec)
kotlin.reflect.KClass
(extensions in package io.kotest.core.spec.style)
kotlin.reflect.KClass
(extensions in package io.kotest.core.spec.style)
kotlin.reflect.KFunction
io.kotest.core.runtime.KotestAdapter

Kotest adapter for kotlin js test support.

io.kotest.core.spec.style.KotestDsl
io.kotest.core.engine.KotestEngine
io.kotest.core.spec.LexicographicSpecExecutionOrder

An implementation of SpecExecutionOrder which will run specs in a lexicographic order.

(extensions in package io.kotest.core.runtime)
kotlin.collections.List
(extensions in package io.kotest.core.spec)
kotlin.collections.List
io.kotest.core.listeners.Listener
io.kotest.core.engine.discovery.Modifier
io.kotest.core.internal.NamedThreadFactory
io.kotest.core.test.NestedTest
io.kotest.core.engine.discovery.PackageName
io.kotest.core.spec.PrepareSpec
io.kotest.core.config.Project

A central store of project wide configuration. This configuration contains defaults for kotest, and is supplemented by user configuration (if present) as loaded by detectConfig.

io.kotest.core.config.ProjectConf

Contains all the configuration details that can be set by a user supplied config object.

io.kotest.core.listeners.ProjectListener

Reusable extension to be registered with project config or auto scanned via @autoscan.

io.kotest.core.spec.RandomSpecExecutionOrder

An implementation of SpecExecutionOrder which will run specs in a different random order each time the are executed.

io.kotest.core.listeners.RootTest
io.kotest.core.extensions.RuntimeTagExtension

Allows including/excluding tags at runtime

io.kotest.core.spec.style.ScenarioBuilder
io.kotest.core.spec.style.ShouldScope
io.kotest.core.spec.style.ShouldSpec
io.kotlintest.specs.ShouldSpec
io.kotest.core.spec.style.ShouldSpecDsl

Example:

io.kotest.core.spec.style.ShouldSpecTestFactoryConfiguration
io.kotest.core.engine.SingleInstanceSpecRunner

Implementation of SpecRunner that executes all tests against the same Spec instance. In other words, only a single instance of the spec class is instantiated for all the test cases.

io.kotest.core.SourceRef
io.kotest.core.spec.Spec
io.kotlintest.Spec
io.kotest.core.spec.SpecConfigurationMethods

Contains methods which can be overriden to set config in the same way that KotlinTest 3.x allowed. The preferred style is to call the DSL functions from within the tests but these methods are still supported and will not be deprecated.

io.kotest.core.spec.SpecDsl
io.kotest.core.spec.SpecExecutionOrder

Note: This has no effect on non-JVM targets.

io.kotest.core.engine.SpecExecutor

Handles the execution of a single Spec class. Delegates to a SpecRunner which determines how and when to instantiate fresh specs based on the IsolationMode of the spec.

io.kotest.core.extensions.SpecExtension

Reusable spec extension that allows intercepting specs before they are executed. The callback is invoked for each Spec that has been submitted for execution.

io.kotest.core.extensions.SpecifiedTagsTagExtension
io.kotest.core.engine.SpecRunner

The base class for executing all the tests inside a Spec.

io.kotest.core.spec.style.StringSpec
io.kotlintest.specs.StringSpec
io.kotest.core.spec.style.StringSpecDsl

Defines the DSL for creating tests in the 'StringSpec' style.

io.kotest.core.spec.style.StringSpecTestFactoryConfiguration

Decorates a TestFactoryConfiguration with the StringSpec DSL.

io.kotest.core.StringTag
io.kotest.core.engine.SynchronizedTestEngineListener
io.kotest.core.extensions.SystemPropertyTagExtension

This TagExtension includes and excludes tags using the system properties 'kotest.tags.include' and 'kotest.tags.exclude'.

io.kotest.core.Tag

Base class for all tags. The simple name (without packages) of the singleton derived from this class will be used as name. Two tag object with the same simple name (same object names in different packages) are treated as a single tag.

io.kotest.core.extensions.TagExtension

Returns Tags to be used by the Test Engine in determining active tests.

io.kotest.core.extensions.TagFilteredDiscoveryExtension

Allows include / exclude Spec with Tags annotation.

io.kotest.core.Tags
io.kotest.core.annotation.Tags

Attach tag to io.kotest.core.spec.Spec, excluded spec won't be initiated.

io.kotest.core.spec.style.Test
io.kotest.core.spec.Testable
io.kotest.core.spec.style.TestBuilders
io.kotest.core.test.TestCase

A TestCase describes an actual block of code that will be tested. It contains a reference back to the Spec instance in which it is being executed.

io.kotest.core.test.TestCaseConfig
io.kotest.core.extensions.TestCaseExtension

Reusable extension that intercepts calls to a TestCase.

io.kotest.core.spec.TestCaseExtensionFn
io.kotest.core.filters.TestCaseFilter

A TestCaseFilter can be used to filter tests before they are executed. They are passed to KotestEngine at runtime.

io.kotest.core.test.TestCaseOrder

This enum is used to configure the order of root test execution in a Spec.

io.kotest.core.spec.TestConfiguration

The parent of all configuration DSL objects and contains configuration methods common to both Spec and TestFactoryConfiguration implementations.

io.kotest.core.test.TestContext

A TestContext is used as the receiver of a closure that is associated with a TestCase.

io.kotest.core.engine.TestEngineListener

Implementations of this interface will be notified of events that occur as part of the KotestEngine lifecycle.

io.kotest.core.runtime.TestExecutionListener
io.kotest.core.runtime.TestExecutor

Executes a single TestCase. Uses a TestExecutionListener to notify callers of events in the test.

io.kotest.core.factory.TestFactory

A TestFactory is a generator of tests along with optional configuration and callbacks related to those tests. A test factory can be added to a Spec and the tests generated by the factory will be included in that spec.

io.kotest.core.factory.TestFactoryConfiguration

A TestFactoryConfiguration provides a DSL to allow for easy creation of a TestFactory when this class is the receiver of a lambda parameter.

io.kotest.core.factory.TestFactoryId
io.kotest.core.filters.TestFilterResult
io.kotest.core.listeners.TestListener
io.kotest.core.test.TestResult
io.kotest.core.test.TestStatus
io.kotest.core.test.TestType
io.kotest.core.spec.style.ThenContext
(extensions in package io.kotest.core.internal)
kotlin.Throwable
io.kotest.core.runtime.TimeoutException
io.kotest.core.runtime.TimeoutExecutionContext

Allows for the execution of a function with a timeout to wake blocked threads.

io.kotest.core.spec.style.WhenAndContext
io.kotest.core.spec.style.WhenContext
io.kotest.core.spec.style.WordSpec
io.kotlintest.specs.WordSpec
io.kotest.core.spec.style.WordSpecDsl

Defines the DSL for creating tests in the 'WordSpec' style.

io.kotest.core.spec.style.WordSpecTestFactoryConfiguration

Decorates a TestFactoryConfiguration with the WordSpec DSL.

io.kotest.core.test.ZeroAssertionsError