Headshot-color me@jbrains.ca
Obtiva-training-2010 Butt-speak-agileee Conf-box-adpeast_125 Homemelbournebutton Homebrisbanebutton

I originally published this on March 2, 2005.

Contract Tests explain how a class should extend a superclass or implement and interface, so that I don’t have to read a bunch of prose to figure out how to do that. Typically, a contract test case class is abstract, then I extend it and implement a creation method or two to return instances of my own implementation of the given interface. That gives me a standard battery of tests I can run to drive my implementation. It might not be perfect (I’ll have n failing tests to start) but I prefer it to documentation written in prose.

So if you’re delivering something you want me to extend and I need to follow more than three rules, please deliver me some contract tests.

September 18, 2009 15:42 design