SlideShare a Scribd company logo
Spock data tables plugin
for IntelliJ
+
How to create your own
plugin
@alberto_deavila
Team Lead @ Salenda
Spock data tables plugin for IntelliJ + How to create you own plugin
We help customers
reach their potential
with Atlassian tools
Global reach
& support
London UK
Dallas USA
Madrid Spain
Tallin Estonia
New York USA
San Diego USA
Toronto Canada
Montreal Canada
Springfield, MO USA
Leamington Spa UK
Kuala Lumpur Malasia
Why to create Spock data
table plugin?
Problem #1
Problem #2
Problem #3
Solution
Why? droidName | createMoreFilms | createJarJarBinks | darthVaderLives | babyJodaAppears | leiaIgnoresHan
'R2-D2' | false | false | false | true | false
'R2-D2' | false | false | false | true | true
'R2-D2' | false | false | true | true | false
'R2-D2' | false | false | true | true | true
'R2-D2' | false | true | false | true | false
'R2-D2' | false | true | false | true | true
'R2-D2' | false | true | true | true | false
'R2-D2' | false | true | true | true | true
'R2-D2' | true | false | false | true | false
'R2-D2' | true | false | false | true | true
'R2-D2' | true | false | true | true | false
'R2-D2' | true | false | true | true | true
'R2-D2' | true | true | false | true | false
'R2-D2' | true | true | false | true | true
'R2-D2' | true | true | true | true | false
'R2-D2' | true | true | true | true | true
'C3P0' | false | false | false | false | false
'C3P0' | false | false | false | false | true
'C3P0' | false | false | false | true | false
'C3P0' | false | false | false | true | true
'C3P0' | false | false | true | false | false
'C3P0' | false | false | true | false | true
'C3P0' | false | false | true | true | false
Problem #1
Problem #2
Why?
Problem #3
Solution
void “Sum 2 values are equals to sum tho others"() {
expect: ‘the sum must be equals‘
a + b == c + d
where:
a | b | c | d
0 | 0 | 0
1 | 1 | 2
0 | 1 | 1
1 | 0 | 1
2 | 2 | 4
4 | 5 | 9
3 | 3 | 6
3 | 0 | 3
2 | 2 | 4
5 | 1 | 6
1 | 5 | 6
4 | 4 | 8
}
Problem #1
Problem #3
Why?
Problem #2
Solution
void "element #element is contained by the list #list is #contained"() {
expect: 'check if the list contains the element'
list.contains(element) == contained
where:
element | list | contained
}
Creating a tool to do the job
Problem #1
Why?
Problem #2
Problem #3
Solution
Download it from
IDE plugins section
Find it on Jetbrains plugins site!
Check out the
code
Let see in action
Next steps
Send JAR to your teammates
Create a Jetbrains account,
upload the plugin and wait
to be approved
Publish plugin
You just need to package
your plugins, send to your
teammates and they need
to Install plugin from disk
Distribute your plugin
Compatibility check
rebrand.ly/plugin-resources
Resources
We are hiring!
rebrand.ly/adaptavist-hiring
Questions

More Related Content

PDF
Workshop State-management in React with Context and Hooks
PDF
Dossier Presentación del Albergue El Último Bucardo
PDF
Susceptibilité familiale et éthnique au paludisme
PPTX
10c -Articulation_point.pptx
PDF
What NOT to test in your project
PDF
Session 5-exersice
PPTX
VLDB Slides on Making Sense of Applying ML to APIs
Workshop State-management in React with Context and Hooks
Dossier Presentación del Albergue El Último Bucardo
Susceptibilité familiale et éthnique au paludisme
10c -Articulation_point.pptx
What NOT to test in your project
Session 5-exersice
VLDB Slides on Making Sense of Applying ML to APIs

More from Alberto De Ávila Hernández (6)

PDF
Graalvm with Groovy and Kotlin - Madrid GUG 2019
PDF
Graalvm with Groovy and Kotlin - Greach 2019
PDF
Let Codenarc check if you write good Groovy code
PDF
Nitro for your Grails App: how to improve performance. Greach '18
PDF
Testing Grails 3, the goob (unit), the bad (integration) and the ugly (functi...
PDF
De Java a Swift pasando por Groovy
Graalvm with Groovy and Kotlin - Madrid GUG 2019
Graalvm with Groovy and Kotlin - Greach 2019
Let Codenarc check if you write good Groovy code
Nitro for your Grails App: how to improve performance. Greach '18
Testing Grails 3, the goob (unit), the bad (integration) and the ugly (functi...
De Java a Swift pasando por Groovy
Ad

Recently uploaded (20)

PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPTX
Spectroscopy.pptx food analysis technology
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
DOCX
The AUB Centre for AI in Media Proposal.docx
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
cuic standard and advanced reporting.pdf
PDF
A comparative analysis of optical character recognition models for extracting...
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Approach and Philosophy of On baking technology
PPTX
sap open course for s4hana steps from ECC to s4
The Rise and Fall of 3GPP – Time for a Sabbatical?
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Spectroscopy.pptx food analysis technology
Chapter 3 Spatial Domain Image Processing.pdf
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
The AUB Centre for AI in Media Proposal.docx
20250228 LYD VKU AI Blended-Learning.pptx
Spectral efficient network and resource selection model in 5G networks
Per capita expenditure prediction using model stacking based on satellite ima...
NewMind AI Weekly Chronicles - August'25-Week II
Unlocking AI with Model Context Protocol (MCP)
Dropbox Q2 2025 Financial Results & Investor Presentation
cuic standard and advanced reporting.pdf
A comparative analysis of optical character recognition models for extracting...
Mobile App Security Testing_ A Comprehensive Guide.pdf
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Approach and Philosophy of On baking technology
sap open course for s4hana steps from ECC to s4
Ad

Spock data tables plugin for IntelliJ + How to create you own plugin

  • 1. Spock data tables plugin for IntelliJ + How to create your own plugin @alberto_deavila Team Lead @ Salenda
  • 3. We help customers reach their potential with Atlassian tools
  • 4. Global reach & support London UK Dallas USA Madrid Spain Tallin Estonia New York USA San Diego USA Toronto Canada Montreal Canada Springfield, MO USA Leamington Spa UK Kuala Lumpur Malasia
  • 5. Why to create Spock data table plugin?
  • 6. Problem #1 Problem #2 Problem #3 Solution Why? droidName | createMoreFilms | createJarJarBinks | darthVaderLives | babyJodaAppears | leiaIgnoresHan 'R2-D2' | false | false | false | true | false 'R2-D2' | false | false | false | true | true 'R2-D2' | false | false | true | true | false 'R2-D2' | false | false | true | true | true 'R2-D2' | false | true | false | true | false 'R2-D2' | false | true | false | true | true 'R2-D2' | false | true | true | true | false 'R2-D2' | false | true | true | true | true 'R2-D2' | true | false | false | true | false 'R2-D2' | true | false | false | true | true 'R2-D2' | true | false | true | true | false 'R2-D2' | true | false | true | true | true 'R2-D2' | true | true | false | true | false 'R2-D2' | true | true | false | true | true 'R2-D2' | true | true | true | true | false 'R2-D2' | true | true | true | true | true 'C3P0' | false | false | false | false | false 'C3P0' | false | false | false | false | true 'C3P0' | false | false | false | true | false 'C3P0' | false | false | false | true | true 'C3P0' | false | false | true | false | false 'C3P0' | false | false | true | false | true 'C3P0' | false | false | true | true | false
  • 7. Problem #1 Problem #2 Why? Problem #3 Solution void “Sum 2 values are equals to sum tho others"() { expect: ‘the sum must be equals‘ a + b == c + d where: a | b | c | d 0 | 0 | 0 1 | 1 | 2 0 | 1 | 1 1 | 0 | 1 2 | 2 | 4 4 | 5 | 9 3 | 3 | 6 3 | 0 | 3 2 | 2 | 4 5 | 1 | 6 1 | 5 | 6 4 | 4 | 8 }
  • 8. Problem #1 Problem #3 Why? Problem #2 Solution void "element #element is contained by the list #list is #contained"() { expect: 'check if the list contains the element' list.contains(element) == contained where: element | list | contained }
  • 9. Creating a tool to do the job Problem #1 Why? Problem #2 Problem #3 Solution
  • 10. Download it from IDE plugins section
  • 11. Find it on Jetbrains plugins site!
  • 13. Let see in action
  • 15. Send JAR to your teammates Create a Jetbrains account, upload the plugin and wait to be approved Publish plugin You just need to package your plugins, send to your teammates and they need to Install plugin from disk Distribute your plugin