Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Throw away your integration tests

No description
by

Beth Skurrie

on 1 April 2014

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Throw away your integration tests

Pact
HTTP Microservices
Increased number of integration points
Breaking up monolithic code bases
Easy maintenance
Reuse
Does this mean we have to write a million integration tests?
System integration tests
* Slow
* Lots of set up
* False positives/negatives
* Flaky
* Hard to locate cause of failure
* Path complexity is exponential
* Extra infrastructure

Is there an alternative?
Confidence
Pacts to the rescue!
"Unit test" an integration
Service Consumer - initiates a request

Service Provider - provides a response
Break it down
Step 1 - Run consumer test with mock provider
Consumer
Provider
pact
Step 2 - Verify expectations on Provider
Consumer
Provider
pact
http request
http response
http request
http response
Testing with Pacts
Fast
Reliable
Low set up
Easy debugging
Standalone build
No extra infrastructure
Developing with Pacts
"Consumer Driven Contracts"
==
Interface then implementation
Upcoming development
Roll the credits
Gem authors:
James Fraser
Sergei Matheson
Brent Snook
Ronald Holshausen
Bethany Skurrie

Based on concepts:
"Integration tests are a scam":
JB. Rainsberger

"Consumer driven contracts"
(Martin Fowler has written a good article on this)
Check it out!
github.com/realestate-com-au/pact
Pact for JVM!
github.com/DiUS/pact-jvm
Same same but different!
github.com/brentsnook/shokkenki
record
replay
Type based (rather than value based) matching to allow looser coupling
XML matching (sigh)
email me!
bskurrie@dius.com.au
Beth Skurrie
bskurrie@dius.com.au
How's that working for you?
Full transcript