Skip to content

Releases: spekframework/spek

2.0.9

09 Dec 05:40
d309af5
Compare
Choose a tag to compare

A minor release to support the release of IntelliJ IDEA 2019.3 (see #809).

New features

(#799) New fixture aliases added to the gherkin style

The following aliases are now available in the gherkin style:

  • Scenario.beforeScenario -> Scenario.beforeGroup
  • Scenario.afterScenario -> Scenario.afterGroup
  • Scenario.beforeEachStep -> Scenario.beforeEachTest
  • Scenario.afterEachStep -> Scenario.afterEachTest
  • Feature.beforeEachScenario -> Feature.beforeEachGroup
  • Feature.afterEachScenario -> Feature.afterEachGroup
  • Feature.beforeFeature -> Feature.beforeGroup
  • Feature.afterFeature -> Feature.afterGroup

The aliased fixtures will be deprecated in the context of the gherkin style.

Deprecations

(#798) Usage of CachingMode.GROUP is now considered an error

This mode was replaced by CachingMode.EACH_GROUP on version 2.0.3.

Others

  • (#820) Bump JUnit Platform dependency to 1.5.2
  • (#808) Internal refactoring to use coroutines more.

2.0.8

06 Oct 07:52
99ccb41
Compare
Choose a tag to compare

Artifacts are now synced to maven central

See #764 for more details.

Timeouts

Test timeouts were added in 2.0.3 but it was hard to configure and there was no way to disable it - causing issues when using a debugger. This release includes several improvements to this feature.

Setting timeouts globally

(#769) On the JVM the global timeout can be configured via the system property SPEK_TIMEOUT

Disable timeouts

(#792) A value of 0 will disable the timeout.

Fixtures

New fixtures

(#670) beforeEachGroup and afterEachGroup fixtures are now available. They are invoked for every group including the group where they are declared (similar to how CachingMode.EACH_GROUP works).

Deprecation

(#787) The fixture aliases before, after, beforeEach and afterEach in the specification style are now deprecated.

Scope value (aka memoized) access are now stricter

(#789) Scope values will now throw an exception when accessed in the wrong context. A good example is accessing a scope value with CachingMode.TEST in a beforeGroup fixture. See ticket for the motivation and more details.

LifecycleListener now reports test failures.

See #761 for the motivation and more details.

Other fixes/changes

  • (#737) Validating a return value examples show use of lateinit on primitives which throws a compiler error
  • (#750) Allow running tests on source root
  • (#763) Run all specs in a package of a common module
  • (#794) Improve how run configurations are named

2.0.7

10 Sep 09:05
9f27c0c
Compare
Choose a tag to compare
  • (#775) Support AS 3.5 GA
  • (#779) Add 'Share common logic between tests' doc section

2.0.6

28 Jul 07:01
Compare
Choose a tag to compare
  • (#706) Provide Kotlin JS and Kotlin Native artifacts for spek-dsl (running tests on those platform is not supported yet).
  • (#712) Support AS 3.5 Beta
  • (#720) Upgrade to the latest classgraph version.
  • (#738) Support IntelliJ IDEA 2019.2
  • (#714) Fail fast gherkin style.

2.0.5

29 May 06:16
cfe31c1
Compare
Choose a tag to compare
  • Allow timeouts to be customized (specification + gherkin style)
  • Support AS 3.4.1
  • Make IJ plugin more lenient about unsupported kotlin platforms (see #704)

2.0.4

08 May 06:33
2b13631
Compare
Choose a tag to compare

The following critical bug fixes are included in this release:

  • (#684) failed assertions yields a passing test.
  • (#682) Kotlin reflection errors.

2.0.3

30 Apr 05:52
9a82ca8
Compare
Choose a tag to compare

New features

Test timeouts (#647)

The test scope builders (it, Given, When, Then and And) now have an optional parameter timeout that controls how long this test should run until a timeout is issued. The default timeout is 10 seconds.

Known issues

  • IDE plugins now require Kotlin plugin 1.3.30+ installed.
  • Run tests in a package provided by the Spek plugin does not work most of the time (still investigating), in the meantime use Run tests in package functionality provided by IJ or AS.
  • 2.0.3 IDE plugins are not backward compatible, please use the same version for the project dependency.

Deprecations

  • (#668) Deprecated CachingMode.GROUP in favor of CachingMode.EACH_GROUP.

Other changes

  • (#649) Another round of discovery bug fixes.
  • (#666) Fix run tests in a package.
  • (#674) Upgrade to Kotlin 1.3.30.
  • (#676) Update build ranges to support latest Android Studio 3.4.

2.0.2

08 Apr 09:31
1147957
Compare
Choose a tag to compare

Another bug fix release for the 2.x release train. See 2.0.2 milestone for more details!

2.0.1

02 Mar 08:32
2be7ff1
Compare
Choose a tag to compare

First bugfix release in the 2.x line.

Fixing #606 required making some incompatible changes between 2.0.1 runtime and 2.0.0 IJ plugin, please hold off from upgrading to 2.0.1 until the IJ plugin is available (it usually takes a few hours as JB needs to manually approve them first). If you have existing run configurations created using the 2.0.0 IJ plugin, you need to recreate them. Apologies for any inconvenience this has caused!

Fixes

  • (#563) NoClassDefFoundError when using mocks and running spek from IntelliJ on a Windows machine
  • (#574) Couldn't run test clicking in the greens arrows alongside of the class
  • (#606) Error "No test were found" when running tests from a package that contains other packages

2.0.0

03 Feb 08:37
29f9fcf
Compare
Choose a tag to compare

What's new?

Breaking changes

See https://spekframework.org/breaking-changes/

Migration guide

See https://spekframework.org/migration/

The list of issues and features included can be found in the following milestones: