One test to @Rule them all

Session Type: 
Standard [35 minutes]

One abstraction layer, forty implementations and one test? Have you
ever build a pluggable API which allows others to extend your product?
We did this with the Mylyn Tasks framework and while the framework
provides common UI for accessing tasks, anyone can plug in specific
connectors to access their change management system of choice.
Connector authors are responsible for fulfilling the expectations of
the Mylyn API which isn't always documented in every little detail and
test their implementation for a number of edge cases. We'll show you
how we simplified testing of connectors and improved test coverage
significantly by introducing an integration test infrastructure on the
API level that tests all implementations with an elaborate test suite
for common behavior and also covers exceptional circumstances.

While we'll use this project as our base for discussion, we'll give
you an insight into the patterns we found and the pitfalls we ran into
while writing tests that are used to test more then 40 different
implementations. In addition to the high level concepts, we'll dive
into the details on how to use different technologies like Eclipse,
JUnit, Tycho and Hudson to accomplish this goal.

Schedule info



Cool Stuff (Other)
Experience level: 

Copyright © 2013 The Eclipse Foundation. All Rights Reserved.