Releases: spekframework/spek
2.0.9
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
2.0.8
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
2.0.7
2.0.6
2.0.5
2.0.4
2.0.3
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 ofCachingMode.EACH_GROUP
.
Other changes
2.0.2
2.0.1
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
2.0.0
What's new?
- A new runtime that does not depend JUnit 5, which means we can eventually add support for other kotlin platforms (JS, Native). JUnit 5 is still used a runner for Kotlin JVM.
- Writing tests for common modules is possible but IDE experience is not desirable (see https://github.com/spekframework/spek/tree/2.x/samples/multiplatform).
- Support for the new MPP model introduced in Kotlin 1.3.
- DSL is now split into two distinct styles:
specification
andgherkin
. - Better IDE support (see https://spekframework.org/running/#ide)
- New package name (
org.spekframework.spek2
) - Revamped docs (see https://spekframework.org/)
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: