All Versions
Latest Version
Avg Release Cycle
14 days
Latest Release
227 days ago

Changelog History
Page 3

  • v4.0.0 Changes

    ๐Ÿš€ The 4.0.0 release is a large release. With the project rename, the packages have changed and module names have changed.

    Major changes:

    • ๐Ÿ‘• The KotlinTest project is now multi-platform. This means most of the modules now require -jvm to be added if you are working server side JVM only. For example, io.kotlintest:kotlintest-runner-junit5 is now io.kotest:kotest-runner-junit5-jvm taking into account package name changes and the platform suffix.
    • โœ… The main assertions library is now kotest-assertions-core and many new assertions (matchers) have been added. This changelog won't list them all. It is simpler to view the [full list](doc/
    • ๐Ÿ“š The property test library has moved to a new module kotest-property and been reworked to include many new features. See new documentation [here](doc/ The old property test classes are deprecated and will be removed in a future release.
    • โœ… Many new property test generators have been added. The full list is [here](doc/
    • โœ… Composable specs have been added in the form of Test Factories.
    • ๐Ÿ“ฆ Project config no longer requires placing in a special package name, but can be placed anywhere in the [classpath](doc/
    • @Autoscan has been added for [listeners](doc/ and extensions.
    • โž• Added DSL version of test lifecycle [callbacks](doc/

    Minor changes.

    • ๐Ÿ”‹ Feature: A new JSoup assertions module has been added. #1028
    • ๐Ÿ”‹ Feature: Stats matchers #851
    • ๐Ÿ”‹ Feature: Experimental Robolectric Support #926
    • ๐Ÿ›  Bugfix: shouldNotThrowAny return T instead of Unit #981
    • ๐Ÿšš Internal: Removed dependency on Arrow to avoid version conflicts
    • ๐Ÿ”‹ Feature: Project wide default test case config
    • ๐Ÿ”‹ Feature: whenReady(f) has been replaced with f.whenReady which is coroutine enabled
    • ๐Ÿ”‹ Feature: Alphabetic test case ordering
    • ๐Ÿ”‹ Feature: All test callbacks are now coroutine enabled
    • ๐Ÿ”‹ Feature: forEachAsClue
    • ๐Ÿ‘Œ Improvement: Support Koin 2.1.0
    • ๐Ÿ‘Œ Improvement: Explicitly allow internal classes as specs
    • ๐Ÿ”‹ Feature: Klock matcher support #1214
    • ๐Ÿ”‹ Feature: JDBC matcher support #1221
  • v4.0.0-BETA3

    March 17, 2020
  • v4.0.0-BETA2

    March 09, 2020
  • v4.0.0-BETA1

    February 16, 2020
  • v3.4.3

    January 23, 2020
  • v3.4.2 Changes

    September 20, 2019
    • ๐Ÿ›  Bugfix: Enhances SpringListener to work correctly with all Spring's Listeners #950
  • v3.4.1 Changes

    September 20, 2019
    • ๐Ÿšš Internal: Remove JUnit redeclarations #927
    • ๐Ÿ”‹ Feature: Add infix modifier to more Arrow matchers #921
    • ๐Ÿ”‹ Feature: BigDecimal range matchers #932
    • ๐Ÿ”‹ Feature: monotonically/strictly increasing/decreasing matcher #850
    • ๐Ÿ”‹ Feature: Fixes shouldBe and shouldNotBe comparison #913
    • ๐Ÿ”‹ Feature: Add overload to Ktor shouldHaveStatus matcher #914
    • ๐Ÿ”‹ Feature: Fail parent tests when child tests fail #935
  • v3.4.0 Changes

    July 22, 2019
    • ๐Ÿ”‹ Feature: Support for running tests with Koin #907
    • ๐Ÿ”‹ Feature: Global timeout option can be applied across all tests #858
    • ๐Ÿ”‹ Feature: Introduced await as a more feature rich version of eventually #888 #793
    • ๐Ÿ”‹ Feature: Array overloads for all matchers #904
    • ๐Ÿ”‹ Feature: Support Spring's Test Listeners #887
    • ๐Ÿ”‹ Feature: Limit Parallelism for some specs #786
    • ๐Ÿ”‹ Feature: Added new project listener #859
    • ๐Ÿ”‹ Feature: Change System extensions to support different modes #843
    • ๐Ÿ”‹ Feature: Print project configurations #841 #866
    • ๐Ÿ”‹ Feature: New date matcher variations for month, time units, day of week, etc #899
    • ๐Ÿ”‹ Feature: Multi line diff min line config option #706
    • ๐Ÿ”‹ Feature: Allow nested describe scope in DescribeSpec #905
    • ๐Ÿ”‹ Feature: Add matcher for Dates to ignore timezone #891
    • ๐Ÿ”‹ Feature: Reflection matchers #614 #894
    • ๐Ÿ”‹ Feature: Added string matchers for single line and size between #853
    • ๐Ÿ”‹ Feature: Added contracts and lambda variations of matchers for arrow types #802 #890 #834
    • ๐Ÿ”‹ Feature: Added matchers for LocalTime #889
    • ๐Ÿ”‹ Feature: Added Zoned and Offset date time variants of shouldBeToday #820
    • ๐Ÿ”‹ Feature: Add new throwable matchers #864
    • ๐Ÿ”‹ Feature: Added matchers for Result #836 #861
    • ๐Ÿ”‹ Feature: Added big decimal matchers #875
    • ๐Ÿ”‹ Feature: Added shouldBeSymbolicLink and shouldHaveParent matchers for files #871
    • ๐Ÿ”‹ Feature: Json Matchers from resources #873
    • ๐Ÿ”‹ Feature: Added shouldBeZero and shouldNotBeZero matcher for number types #819 #848
    • ๐Ÿ”‹ Feature: Added shouldContainFiles matcher for path #854
    • ๐Ÿ”‹ Feature: The URI matchers should also work on URLs. #818
    • ๐Ÿ”‹ Feature: Allow setting isolation mode in project config #842
    • ๐Ÿ”‹ Feature: Added containFileDeep File matcher #846
    • ๐Ÿ”‹ Feature: Implements SkipTestException #805
    • ๐Ÿ”‹ Feature: Implements Infinity and NaN Double Matchers #801
    • ๐Ÿ”‹ Feature: Add asClue helper function #784
    • ๐Ÿ”‹ Feature: Add infix map matchers using Pair #792
    • ๐Ÿ”‹ Feature: Add Short and Btyte primitive gens #773
    • ๐Ÿ”‹ Feature: Implement Gen.take(n) function #758
    • ๐Ÿ”‹ Feature: Implement function #759
    • ๐Ÿ”‹ Feature: Add support to change sizes of generated lists, sets, maps #757
    • ๐Ÿ”‹ Feature: Allow exclusion/inclusion tags at runtime #761
    • ๐Ÿ›  Bugfix: Added missing part of shouldHaveLength message #870)
    • ๐Ÿ›  Bugfix: Updated json matchers to include actual json in the error
    • ๐Ÿ›  Bugfix: Fix for before/after test listeners not failing tests #842 #865
    • ๐Ÿ›  Bugfix: Changed autoClose to accept an AutoCloseable #847
    • ๐Ÿ›  Bugfix: Fixed left vs right issue #612
    • ๐Ÿ›  Bugfix: Ensure specs that fail in initialisation fail a Maven build #832
    • ๐Ÿ›  Bugfix: Fixed test engine reporting when there is an exception in either the init block, beforeSpec or the afterSpec method #771
    • ๐Ÿ‘• Internal: io.kotlintest.Result renamed to io.kotlintest.MatcherResult to avoid conflict with new Kotlin class kotlin.Result #898
  • v3.3.3

    July 22, 2019
  • v3.3.2 Changes

    April 05, 2019
    • ๐Ÿ›  Fixed .kotlintest folder being created even when not necessary #720
    • ๐Ÿ›  Fixed child tests propagating exceptions to parents (making the entire test suite fail)