The Internet belongs to everyone. Let’s keep it that way.

Protect Net Neutrality
Loading presentation...

Present Remotely

Send the link below via email or IM


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.


Throw away your integration tests

No description

Beth Skurrie

on 1 April 2014

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Throw away your integration tests

HTTP Microservices
Increased number of integration points
Breaking up monolithic code bases
Easy maintenance
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?
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
Step 2 - Verify expectations on Provider
http request
http response
http request
http response
Testing with Pacts
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!
Pact for JVM!
Same same but different!
Type based (rather than value based) matching to allow looser coupling
XML matching (sigh)
email me!
Beth Skurrie
How's that working for you?
Full transcript