Changelog History
Page 1
-
v2.0.14 Changes
November 14, 2020๐ In
2.0.13
discovery and execution started using coroutines, which means they are not confined to a single thread anymore. This can be problematic as most test frameworks like mokk (and possibly mockito) rely on test execution to be confined in a single thread (#923). Another side effect is that the test execution order wasn't deterministic anymore as at any given point a coroutine can be suspended and control is given elsewhere. This release fixes both that issue, Spek is still using coroutines but the runtime ensures that a given test class will always be confined to a single thread. -
v2.0.13 Changes
September 12, 2020๐ This release adds several system properties to control how Spek does discovery and execution.
0๏ธโฃ
spek2.discovery.parallel.enabled
- controls whether discovery is done in parallel or not, by default it is disabled. The presence of this property regardless of value will enable parallel discovery.0๏ธโฃ
spek2.execution.parallel.enabled
- controls whether execution is done in parallel or not, by default it is disabled. The presence of this property regardless of value will enable parallel execution.๐
spek2.execution.test.timeout
-SPEK2_TIMEOUT
is now deprecated (will be removed in 2.1.0) and will be replaced by this property. Controls how long a test can run before timing out, by default it is disabled - i.e tests won't timeout.A note for parallel execution
โ Parallelism is at a class level not individual test scopes. Spek uses coroutines under the hood to execute tests in parallel, essentially
spek2.execution.parallel.enabled
just controls whichCoroutineDispatcher
is used. For parallel executionsDispatchers.Default
is used, otherwise the one provided byrunBlocking
is used. -
v2.0.12 Changes
July 05, 2020๐ Patch release that adds support for IJ 2020.2 EAP and AS 4.0. The following AS and IJ versions are no longer supported:
- Android Studio 3.3
- Android Studio 3.4
- IntelliJ IDEA 2018.2
- IntelliJ IDEA 2018.3
- IntelliJ IDEA 2019.1
- IntelliJ IDEA 2019.2
-
v2.0.11
May 30, 2020 -
v2.0.10 Changes
March 07, 2020๐ This releases add supports for Android Studio 3.6 and IntelliJ IDEA 2020.1
๐ New features
- ๐ Support for Android Studio 3.6
- ๐ Support for IntelliJ IDEA 2020.1 EAP
- ๐ New IDE inspection for spek classes without a no-arg constructor not marked
abstract
or any of the following annotations:@Ignore
,@InstanceFactory
. (#806) - โ The IJ test runner now explicitly exits even if there are non-daemon threads around after test execution. (#848)
๐ Deprecations and removals
- ๐
CachingMode.GROUP
has now been deleted, this was deprecated a couple of release ago. (#798)
-
v2.0.9 Changes
December 09, 2019๐ 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 version2.0.3
.Others
-
v2.0.8 Changes
October 06, 2019๐ 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
andafterEachGroup
fixtures are now available. They are invoked for every group including the group where they are declared (similar to howCachingMode.EACH_GROUP
works).๐ Deprecation
๐ (#787) The fixture aliases
before
,after
,beforeEach
andafterEach
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 abeforeGroup
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
-
v2.0.7
September 05, 2019 -
v2.0.6 Changes
July 28, 2019 -
v2.0.5 Changes
May 29, 2019- ๐ Allow timeouts to be customized (specification + gherkin style)
- ๐ Support AS 3.4.1
- ๐ Make IJ plugin more lenient about unsupported kotlin platforms (see #704)