All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- GutHub pages showcasing the plugin
- GitHub workflows
- Generate
plugin.xml
description from the README to avoid duplicities - Release automation (see https://github.com/JetBrains/intellij-platform-plugin-template/blob/main/.github/workflows/release.yml)
- Generate
- Creation of new tests for classes (
Navigate -> Go To Test -> Create new test
)- Persisted the New Specification dialog's values to be used as defaults next time
- Configurable Spec class name suffix in IntelliJ settings
- An IntelliJ settings preference allowing to define test annotation/baseClass mapping to a suffix.
- E.g. When test is annotated with @IntegrationSpec, the new test will get an
IntegrationSpec
classname suffix.
- E.g. When test is annotated with @IntegrationSpec, the new test will get an
- Allow generating feature methods for selected class methods
- Highlighting
when
,then
,and
, andthen
sections- Colour override in settings
- Data table columns and pipes (The columns behind
||
could be visually different)
- Auto-completion (or live templates)
- Properties within
unrolled
feature methods names (expressions are denoted with#
and only support property access and zero-arg method calls) - Block names in feature methods (i.e.
when/then/expect
, etc.) - Fixture method names (i.e.
setup
,setupSpec
, etc.) - New feature methods based on class-in-test methods (For instance, by selecting
Clazz.something()
method, a Spock Feature method will be created and nameddef "Something returns true"() {}
)
- Properties within
- Inspections
- Empty
setup
,cleanupSpec
, etc. - Unused variables in the
where
block - Warning when a
then
block contains anything else than assertions (assignments to variables, etc.)- Allow
def e = thrown(Exception)
so that exception messages can be asserted
- Allow
- Empty
- Quick actions
- Errors (Spock blocks)
- Data tables
- Swap columns
- Delete columns
- Split long tables into two
- Support for K2 mode. Note:
Go To Test
works since IntelliJ IDEA2024.3
(see KTIJ-31059).
- It was not possible to create a Specification in the default package (i.e. without a package declaration)
- Support for IntelliJ IDEA
2024.1.x
and older. I.e. the plugin now requires IntelliJ IDEA2024.2
or newer.
- Block order inspection did not report an
expect
block followed by anotherexpect
- When debugging Groovy code, the Expression Evaluator did not work with the Spock plugin installed
Go To Test
support for Specifications in Groovy, Java and Kotlin files (Navigate -> Test
)
- Spock Specification file template
- Spock Specification action for quick Specification creation (
Project -> New -> Spock Specification
)
- Spock block order and completeness inspection