Chapter 3. The xUnit Family of Unit Test Frameworks

Kent Beck published a unit test framework for the Smalltalk language in 1999. The architecture of SmalltalkUnit (or SUnit) represents a sweet spot, an ideal balance between simplicity and utility. Later, Erich Gamma ported SUnit to Java, creating JUnit. JUnit in turn begat CppUnit, NUnit, PyUnit, XMLUnit, and ports to many other languages. A dizzying array of unit test frameworks built on the same model now exists. These frameworks are known as the xUnit family of tools. All are free, open source software.

xUnit Family Members

Some of the most popular xUnit test frameworks are listed next, with brief summaries of their target language and testing domain. This is just a sample of the many xUnit-derived test tools.

JUnit

The reference implementation of xUnit, JUnit is by far the most widely used and extended unit test framework. It is implemented in and used with Java and is covered in Chapter 6 of this book.

CppUnit

The C++ port of JUnit, it closely follows the JUnit model. This is covered in Chapter 7 of this book.

NUnit

The xUnit for .NET. Rather than being a direct port of JUnit, it has a .NET-specific implementation that generally follows the xUnit model. It is written in C# and can be used to test any .NET language, including C#, VB.Net, J#, and Managed C++. It is covered in Chapter 8 of this book.

PyUnit

The Python version of xUnit. It is included as a standard component of Python 2.1, and is covered in Chapter 9 of this book. ...

Get Unit Test Frameworks now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.