What is this?

This is an NUnit addin that allows for data-driven unit testing.

The addin allows for parameterized test fixtures and test cases to be created at runtime. This can be used to replicate MBUnit's CombinatorialTest or RowTest, or Visual Studio Team System's DataSource attribute. (Note that Andreas Schlapsi has already created an NUnit add-in that is a direct replacement for the RowTest attribute, the difference with this add-in is that it allows the parameterized tests to be created at runtime rather being specified by attributes at the time that the test is written.

I still don't get what this is used for...

Imagine that you're creating, say, a Physics engine, and that you have a set of Primitives (Spheres, Cubes etc.) that all have a method Collide(IPrimitive primitive). All of the tests have the same functionality - Collide should call a given method on the primitive. We have to create the same test for every primitive that we create, but we may wish instead to find all types in our assembly implementing IPrimitive and creating a test for them.

Still Confused?

I blogged more on the motivations behind data-driven testing, and the creation of the addin, in the following postings:
http://taumuon-jabuka.blogspot.com/2008/02/this-is-blog-post-to-explain-exactly.html
http://taumuon.blogspot.com/2006_04_01_archive.html
http://taumuon.blogspot.com/2006_05_01_archive.html
http://http://taumuon.blogspot.com/2006_06_01_archive.html

Version History

Download

Maslina 1.1.0.0

21st April 2008. No longer validate theories, and introduce inline assumptions, via Assume.IsTrue(), see http://taumuon-jabuka.blogspot.com/2008/04/maslina-and-rakija-updates-for-nunit.html for details.

Taumuon.Maslina.1.1.0.0-bin.zip
Taumuon.Maslina.1.1.0.0-src.zip

Maslina 1.0.0.0

This is a temporary download of a prototype theory impementation in .NET. See this blogpost for details (http://taumuon-jabuka.blogspot.com/2008/03/sample-theory-implementation-as-nunit.html).

Taumuon.Maslina.1.0.0.0-bin.zip
Taumuon.Maslina.1.0.0.0-src.zip

Rakija 1.3.0.0

Taumuon.Rakija.1.3.0.0-bin.zip
Taumuon.Rakija.1.3.0.0-src.zip

Rakija 1.2.0.0

Taumuon.Rakija.1.2.0.0-bin.zip
Taumuon.Rakija.1.2.0.0-src.zip

Rakija 1.1.0.0

This is built with the MIT License in the source. The main change in this release is to reduce the coupling between the parameterized tests and parameterized fixures - the DynamicTestFixtureBuilder has been removed.

This has been tested against NUnit 2.4.6, and is probably no more resistent to NUnit changes than Rakija version 1.0.0.0.

Taumuon.Rakija.1.1.0.0-bin.zip
Taumuon.Rakija.1.1.0.0-src.zip

Rakija 1.0.0.0

I've decided to licence this with the MIT licence, but haven't updated the package to say this yet. I'll get a new release out within the next few days (as of 12th Feb 08).

This has been tested against NUnit 2.4.6, and is unlikely to work with later versions (as the code derive from NUnitTestFixtureBuilder and NUnitTestCaseBuilder it is sensitive to any changes in the base classes.

Taumuon.Rakija.1.0.0.0-bin.zip
Taumuon.Rakija.1.0.0.0-src.zip

Page last updated 21st April 2008






Home
Jabuka
Rakija
Gallery
CV
Gary Blog
Geek Blog
Mare Blog