SlideShare a Scribd company logo
1 of 18
Download to read offline
TESTING JAVA PERSISTENCE
   LAYER DONE RIGHT
    WITH ARQUILLIAN




         Bartosz Majsak
    Cambridge Technology Partners
             @majson
[bartosz@devoxx ~]$ whoami
 ✔
         Java developer by day

 ✔
         Open source junkie by night

 ✔
         Arquillian team member, lead of
     ✔
          Persistence Extension
     ✔
          Spock test runner
     ✔
          Seam 2 integration


 ✔
         github.com/bartoszmajsak
 ✔
         @majson
First attempt
First attempt
First attempt
First attempt
First attempt
We can do better
<dataset>
  <brewery id="1" name="Brew Dog" country="Scotland" />
  <beer id="1" name="End of History" price="756"
        alcohol="55.0" brewery_id="1" />
</dataset>
And better
And even better
Recap
 ✔
     You can write your test fixtures in XML, Excel, YAML or JSON

 ✔
     @UsingDataSet / @ShouldMatchDataSet

 ✔
     @Cleanup / @CleanupUsingScript

 ✔
     @ApplyScriptBefore / After

 ✔
     @CreateSchema

 ✔
     JPA 2nd level cache eviction
What's for the nearest future?

 ✔
     NoSQLUnit integration

 ✔
     Data providers (like in TestNG)

 ✔
     Standalone mode
We need you!
Thank you!
      Q&A
https://github.com/bartoszmajsak/devoxx12-ape
http://arquillian.org
https://docs.jboss.org/author/display/ARQ/Persistence
Credits
[5] http://www.flickr.com/photos/montine/2311288263/
[6] http://www.flickr.com/photos/visitflanders/6328705484/
[15] http://www.flickr.com/photos/leebennett/3181855130




          Q&A
Slide 5 – Author's permission
Slides 6, 15 – Creative Commons

More Related Content

What's hot

Updates on Offline: “My AppCache won’t come back” and “ServiceWorker Tricks ...
Updates on Offline: “My AppCache won’t come back” and  “ServiceWorker Tricks ...Updates on Offline: “My AppCache won’t come back” and  “ServiceWorker Tricks ...
Updates on Offline: “My AppCache won’t come back” and “ServiceWorker Tricks ...Natasha Rooney
 
No more script tag soup!
No more script tag soup!No more script tag soup!
No more script tag soup!Kyle Simpson
 
Advanced front-end automation with npm scripts
Advanced front-end automation with npm scriptsAdvanced front-end automation with npm scripts
Advanced front-end automation with npm scriptsk88hudson
 
20160324 moneyfoward Elixir and Me
20160324 moneyfoward Elixir and Me20160324 moneyfoward Elixir and Me
20160324 moneyfoward Elixir and MeKazuaki Matsuo
 
Improving Workflows With Grunt.js - Big D Design 2014 - Dallas Texas
Improving Workflows With Grunt.js - Big D Design 2014 - Dallas TexasImproving Workflows With Grunt.js - Big D Design 2014 - Dallas Texas
Improving Workflows With Grunt.js - Big D Design 2014 - Dallas TexasPreston McCauley
 
OSGi in Action - How we use OSGi to build Open Liberty - Alasdair Nottingham ...
OSGi in Action - How we use OSGi to build Open Liberty - Alasdair Nottingham ...OSGi in Action - How we use OSGi to build Open Liberty - Alasdair Nottingham ...
OSGi in Action - How we use OSGi to build Open Liberty - Alasdair Nottingham ...mfrancis
 
Automating security check - Milic Vuletic
Automating security check - Milic VuleticAutomating security check - Milic Vuletic
Automating security check - Milic VuleticBol.com Techlab
 
Nightwatch.js (vodQA Shots - Pune 2017)
Nightwatch.js (vodQA Shots - Pune 2017)Nightwatch.js (vodQA Shots - Pune 2017)
Nightwatch.js (vodQA Shots - Pune 2017)Smriti Tuteja
 
NodeSummit - MEAN Stack
NodeSummit - MEAN StackNodeSummit - MEAN Stack
NodeSummit - MEAN StackValeri Karpov
 
Embedding GlassFish v3 in Ehcache Server
Embedding GlassFish v3 in Ehcache ServerEmbedding GlassFish v3 in Ehcache Server
Embedding GlassFish v3 in Ehcache ServerEduardo Pelegri-Llopart
 
MenloHacks Workshop 2019
MenloHacks Workshop 2019MenloHacks Workshop 2019
MenloHacks Workshop 2019Bruce Lin
 
Wordpress -> Middleman: Lesson learned in the 2-years since migrating
Wordpress -> Middleman: Lesson learned in the 2-years since migratingWordpress -> Middleman: Lesson learned in the 2-years since migrating
Wordpress -> Middleman: Lesson learned in the 2-years since migratingJames Stone
 
Modernizing Your WordPress Workflow with Grunt & Bower
Modernizing Your WordPress Workflow with Grunt & BowerModernizing Your WordPress Workflow with Grunt & Bower
Modernizing Your WordPress Workflow with Grunt & BowerAlan Crissey
 
CascadiaJS 2014 - Making JavaScript Tests Fast, Easy & Friendly
CascadiaJS 2014 - Making JavaScript Tests Fast, Easy & FriendlyCascadiaJS 2014 - Making JavaScript Tests Fast, Easy & Friendly
CascadiaJS 2014 - Making JavaScript Tests Fast, Easy & FriendlyRyan Roemer
 
.NET Conf 2018: Build Great Libraries using .NET Standard
.NET Conf 2018: Build Great Libraries using .NET Standard.NET Conf 2018: Build Great Libraries using .NET Standard
.NET Conf 2018: Build Great Libraries using .NET StandardImmo Landwerth
 
Build your first DApp using Substrate Framework - Part I
Build your first DApp using Substrate Framework - Part IBuild your first DApp using Substrate Framework - Part I
Build your first DApp using Substrate Framework - Part IKnoldus Inc.
 
Jon Stace Web Cryptography API
Jon Stace Web Cryptography APIJon Stace Web Cryptography API
Jon Stace Web Cryptography APIJon Stace
 

What's hot (20)

Updates on Offline: “My AppCache won’t come back” and “ServiceWorker Tricks ...
Updates on Offline: “My AppCache won’t come back” and  “ServiceWorker Tricks ...Updates on Offline: “My AppCache won’t come back” and  “ServiceWorker Tricks ...
Updates on Offline: “My AppCache won’t come back” and “ServiceWorker Tricks ...
 
No more script tag soup!
No more script tag soup!No more script tag soup!
No more script tag soup!
 
Advanced front-end automation with npm scripts
Advanced front-end automation with npm scriptsAdvanced front-end automation with npm scripts
Advanced front-end automation with npm scripts
 
20160324 moneyfoward Elixir and Me
20160324 moneyfoward Elixir and Me20160324 moneyfoward Elixir and Me
20160324 moneyfoward Elixir and Me
 
Improving Workflows With Grunt.js - Big D Design 2014 - Dallas Texas
Improving Workflows With Grunt.js - Big D Design 2014 - Dallas TexasImproving Workflows With Grunt.js - Big D Design 2014 - Dallas Texas
Improving Workflows With Grunt.js - Big D Design 2014 - Dallas Texas
 
OSGi in Action - How we use OSGi to build Open Liberty - Alasdair Nottingham ...
OSGi in Action - How we use OSGi to build Open Liberty - Alasdair Nottingham ...OSGi in Action - How we use OSGi to build Open Liberty - Alasdair Nottingham ...
OSGi in Action - How we use OSGi to build Open Liberty - Alasdair Nottingham ...
 
Automating security check - Milic Vuletic
Automating security check - Milic VuleticAutomating security check - Milic Vuletic
Automating security check - Milic Vuletic
 
Nightwatch.js (vodQA Shots - Pune 2017)
Nightwatch.js (vodQA Shots - Pune 2017)Nightwatch.js (vodQA Shots - Pune 2017)
Nightwatch.js (vodQA Shots - Pune 2017)
 
NodeSummit - MEAN Stack
NodeSummit - MEAN StackNodeSummit - MEAN Stack
NodeSummit - MEAN Stack
 
Better than google
Better  than googleBetter  than google
Better than google
 
Embedding GlassFish v3 in Ehcache Server
Embedding GlassFish v3 in Ehcache ServerEmbedding GlassFish v3 in Ehcache Server
Embedding GlassFish v3 in Ehcache Server
 
MenloHacks Workshop 2019
MenloHacks Workshop 2019MenloHacks Workshop 2019
MenloHacks Workshop 2019
 
Wordpress -> Middleman: Lesson learned in the 2-years since migrating
Wordpress -> Middleman: Lesson learned in the 2-years since migratingWordpress -> Middleman: Lesson learned in the 2-years since migrating
Wordpress -> Middleman: Lesson learned in the 2-years since migrating
 
Sprockets
SprocketsSprockets
Sprockets
 
Modernizing Your WordPress Workflow with Grunt & Bower
Modernizing Your WordPress Workflow with Grunt & BowerModernizing Your WordPress Workflow with Grunt & Bower
Modernizing Your WordPress Workflow with Grunt & Bower
 
CascadiaJS 2014 - Making JavaScript Tests Fast, Easy & Friendly
CascadiaJS 2014 - Making JavaScript Tests Fast, Easy & FriendlyCascadiaJS 2014 - Making JavaScript Tests Fast, Easy & Friendly
CascadiaJS 2014 - Making JavaScript Tests Fast, Easy & Friendly
 
.NET Conf 2018: Build Great Libraries using .NET Standard
.NET Conf 2018: Build Great Libraries using .NET Standard.NET Conf 2018: Build Great Libraries using .NET Standard
.NET Conf 2018: Build Great Libraries using .NET Standard
 
Build your first DApp using Substrate Framework - Part I
Build your first DApp using Substrate Framework - Part IBuild your first DApp using Substrate Framework - Part I
Build your first DApp using Substrate Framework - Part I
 
Gatling
GatlingGatling
Gatling
 
Jon Stace Web Cryptography API
Jon Stace Web Cryptography APIJon Stace Web Cryptography API
Jon Stace Web Cryptography API
 

Viewers also liked

About SCORM
About SCORMAbout SCORM
About SCORMakshin
 
Online assignmentment anjana rk
Online assignmentment anjana rkOnline assignmentment anjana rk
Online assignmentment anjana rkanjalirksukku
 
Netex learningHub | Presentation [EN]
Netex learningHub | Presentation [EN]Netex learningHub | Presentation [EN]
Netex learningHub | Presentation [EN]Netex Learning
 
(At least) 27 Questions to Ask About SCORM in Your RFP
(At least) 27 Questions to Ask About SCORM in Your RFP(At least) 27 Questions to Ask About SCORM in Your RFP
(At least) 27 Questions to Ask About SCORM in Your RFPRustici Software
 
Blood Bank Management System by CDAC
Blood Bank Management System by CDACBlood Bank Management System by CDAC
Blood Bank Management System by CDACSaurav Gupta
 
Scorm, A Beginners Guide.
Scorm, A Beginners Guide.Scorm, A Beginners Guide.
Scorm, A Beginners Guide.Thinking Cap
 
Moodle support for SCORM
Moodle support for SCORM Moodle support for SCORM
Moodle support for SCORM Jalpa Bhavsar
 
An introduction to SCORM 2004
An introduction to SCORM 2004An introduction to SCORM 2004
An introduction to SCORM 2004Teeled
 

Viewers also liked (14)

About SCORM
About SCORMAbout SCORM
About SCORM
 
Online assignmentment anjana rk
Online assignmentment anjana rkOnline assignmentment anjana rk
Online assignmentment anjana rk
 
Netex learningHub | Presentation [EN]
Netex learningHub | Presentation [EN]Netex learningHub | Presentation [EN]
Netex learningHub | Presentation [EN]
 
SCORM in Sakai
SCORM in SakaiSCORM in Sakai
SCORM in Sakai
 
SCORM in Plain English
SCORM in Plain EnglishSCORM in Plain English
SCORM in Plain English
 
Scorm
ScormScorm
Scorm
 
(At least) 27 Questions to Ask About SCORM in Your RFP
(At least) 27 Questions to Ask About SCORM in Your RFP(At least) 27 Questions to Ask About SCORM in Your RFP
(At least) 27 Questions to Ask About SCORM in Your RFP
 
Scorm
ScormScorm
Scorm
 
Blood Bank Management System by CDAC
Blood Bank Management System by CDACBlood Bank Management System by CDAC
Blood Bank Management System by CDAC
 
MVC
MVCMVC
MVC
 
Scorm, A Beginners Guide.
Scorm, A Beginners Guide.Scorm, A Beginners Guide.
Scorm, A Beginners Guide.
 
9 hdm r
9 hdm r9 hdm r
9 hdm r
 
Moodle support for SCORM
Moodle support for SCORM Moodle support for SCORM
Moodle support for SCORM
 
An introduction to SCORM 2004
An introduction to SCORM 2004An introduction to SCORM 2004
An introduction to SCORM 2004
 

Similar to TESTING JAVA PERSISTENCE LAYER DONE RIGHT WITH ARQUILLIAN

Implementing Quality on a Java Project
Implementing Quality on a Java ProjectImplementing Quality on a Java Project
Implementing Quality on a Java ProjectVincent Massol
 
Coscup 2013 : Continuous Integration on top of hadoop
Coscup 2013 : Continuous Integration on top of hadoopCoscup 2013 : Continuous Integration on top of hadoop
Coscup 2013 : Continuous Integration on top of hadoopWisely chen
 
Implementing Quality on Java projects
Implementing Quality on Java projectsImplementing Quality on Java projects
Implementing Quality on Java projectsVincent Massol
 
Migrating to a Bazel-based CI System: 6 Learnings - Or Shachar
Migrating to a Bazel-based CI System: 6 Learnings - Or ShacharMigrating to a Bazel-based CI System: 6 Learnings - Or Shachar
Migrating to a Bazel-based CI System: 6 Learnings - Or ShacharWix Engineering
 
Devoxx UK 2013 Test-Driven Development with JavaEE 7, Arquillian and Embedded...
Devoxx UK 2013 Test-Driven Development with JavaEE 7, Arquillian and Embedded...Devoxx UK 2013 Test-Driven Development with JavaEE 7, Arquillian and Embedded...
Devoxx UK 2013 Test-Driven Development with JavaEE 7, Arquillian and Embedded...Peter Pilgrim
 
Javazone 2019 - Mutants to the rescue: How effective are your unit tests?
Javazone 2019 - Mutants to the rescue: How effective are your unit tests?Javazone 2019 - Mutants to the rescue: How effective are your unit tests?
Javazone 2019 - Mutants to the rescue: How effective are your unit tests?Paco van Beckhoven
 
Building a private CI/CD pipeline with Java and Docker in the cloud as presen...
Building a private CI/CD pipeline with Java and Docker in the cloud as presen...Building a private CI/CD pipeline with Java and Docker in the cloud as presen...
Building a private CI/CD pipeline with Java and Docker in the cloud as presen...Baruch Sadogursky
 
Migrating to a bazel based CI system: 6 learnings
Migrating to a bazel based CI system: 6 learnings Migrating to a bazel based CI system: 6 learnings
Migrating to a bazel based CI system: 6 learnings Or Shachar
 
New types of tests for Java projects
New types of tests for Java projectsNew types of tests for Java projects
New types of tests for Java projectsVincent Massol
 
Migration strategies 4
Migration strategies 4Migration strategies 4
Migration strategies 4Wenhua Wang
 
Patterns and antipatterns in Docker image lifecycle as was presented at Devop...
Patterns and antipatterns in Docker image lifecycle as was presented at Devop...Patterns and antipatterns in Docker image lifecycle as was presented at Devop...
Patterns and antipatterns in Docker image lifecycle as was presented at Devop...Baruch Sadogursky
 
Accelerating Your Test Execution Pipeline
Accelerating Your Test Execution PipelineAccelerating Your Test Execution Pipeline
Accelerating Your Test Execution PipelineSmartBear
 
How to Begin Developing Ruby Core
How to Begin Developing Ruby CoreHow to Begin Developing Ruby Core
How to Begin Developing Ruby CoreHiroshi SHIBATA
 
Patterns and antipatterns in Docker image lifecycle as was presented at Globa...
Patterns and antipatterns in Docker image lifecycle as was presented at Globa...Patterns and antipatterns in Docker image lifecycle as was presented at Globa...
Patterns and antipatterns in Docker image lifecycle as was presented at Globa...Baruch Sadogursky
 
Go testunderthehood
Go testunderthehoodGo testunderthehood
Go testunderthehoodSean Kelly
 
Decoupling react native test framework
Decoupling react native test frameworkDecoupling react native test framework
Decoupling react native test frameworkDipti Roy
 
Integration Testing Practice using Perl
Integration Testing Practice using PerlIntegration Testing Practice using Perl
Integration Testing Practice using PerlMasaki Nakagawa
 
Scala Json Features and Performance
Scala Json Features and PerformanceScala Json Features and Performance
Scala Json Features and PerformanceJohn Nestor
 

Similar to TESTING JAVA PERSISTENCE LAYER DONE RIGHT WITH ARQUILLIAN (20)

Implementing Quality on a Java Project
Implementing Quality on a Java ProjectImplementing Quality on a Java Project
Implementing Quality on a Java Project
 
Coscup 2013 : Continuous Integration on top of hadoop
Coscup 2013 : Continuous Integration on top of hadoopCoscup 2013 : Continuous Integration on top of hadoop
Coscup 2013 : Continuous Integration on top of hadoop
 
Implementing Quality on Java projects
Implementing Quality on Java projectsImplementing Quality on Java projects
Implementing Quality on Java projects
 
Advanced Java Testing
Advanced Java TestingAdvanced Java Testing
Advanced Java Testing
 
Migrating to a Bazel-based CI System: 6 Learnings - Or Shachar
Migrating to a Bazel-based CI System: 6 Learnings - Or ShacharMigrating to a Bazel-based CI System: 6 Learnings - Or Shachar
Migrating to a Bazel-based CI System: 6 Learnings - Or Shachar
 
Devoxx UK 2013 Test-Driven Development with JavaEE 7, Arquillian and Embedded...
Devoxx UK 2013 Test-Driven Development with JavaEE 7, Arquillian and Embedded...Devoxx UK 2013 Test-Driven Development with JavaEE 7, Arquillian and Embedded...
Devoxx UK 2013 Test-Driven Development with JavaEE 7, Arquillian and Embedded...
 
Javazone 2019 - Mutants to the rescue: How effective are your unit tests?
Javazone 2019 - Mutants to the rescue: How effective are your unit tests?Javazone 2019 - Mutants to the rescue: How effective are your unit tests?
Javazone 2019 - Mutants to the rescue: How effective are your unit tests?
 
Building a private CI/CD pipeline with Java and Docker in the cloud as presen...
Building a private CI/CD pipeline with Java and Docker in the cloud as presen...Building a private CI/CD pipeline with Java and Docker in the cloud as presen...
Building a private CI/CD pipeline with Java and Docker in the cloud as presen...
 
Migrating to a bazel based CI system: 6 learnings
Migrating to a bazel based CI system: 6 learnings Migrating to a bazel based CI system: 6 learnings
Migrating to a bazel based CI system: 6 learnings
 
New types of tests for Java projects
New types of tests for Java projectsNew types of tests for Java projects
New types of tests for Java projects
 
Migration strategies 4
Migration strategies 4Migration strategies 4
Migration strategies 4
 
Patterns and antipatterns in Docker image lifecycle as was presented at Devop...
Patterns and antipatterns in Docker image lifecycle as was presented at Devop...Patterns and antipatterns in Docker image lifecycle as was presented at Devop...
Patterns and antipatterns in Docker image lifecycle as was presented at Devop...
 
Accelerating Your Test Execution Pipeline
Accelerating Your Test Execution PipelineAccelerating Your Test Execution Pipeline
Accelerating Your Test Execution Pipeline
 
How to Begin Developing Ruby Core
How to Begin Developing Ruby CoreHow to Begin Developing Ruby Core
How to Begin Developing Ruby Core
 
Patterns and antipatterns in Docker image lifecycle as was presented at Globa...
Patterns and antipatterns in Docker image lifecycle as was presented at Globa...Patterns and antipatterns in Docker image lifecycle as was presented at Globa...
Patterns and antipatterns in Docker image lifecycle as was presented at Globa...
 
Go testunderthehood
Go testunderthehoodGo testunderthehood
Go testunderthehood
 
Decoupling react native test framework
Decoupling react native test frameworkDecoupling react native test framework
Decoupling react native test framework
 
Junit_.pptx
Junit_.pptxJunit_.pptx
Junit_.pptx
 
Integration Testing Practice using Perl
Integration Testing Practice using PerlIntegration Testing Practice using Perl
Integration Testing Practice using Perl
 
Scala Json Features and Performance
Scala Json Features and PerformanceScala Json Features and Performance
Scala Json Features and Performance
 

TESTING JAVA PERSISTENCE LAYER DONE RIGHT WITH ARQUILLIAN