posted on Wednesday, December 07, 2005 6:29 PM by anoras

DuckUnit

Some weeks ago I downloaded the new beta of Test Driven .NET. As you might know the beta is available through Folder Share, which basically is a peer to peer network. Trying to support Jamie’s excellent tool I kept the share open to help distribute Test Driven .NET. A cool side-effect from this is that I automatically get all the latest files downloaded to my computer. I’ve got my shared folder in a sub folder beneath My Documents, and my information client of choice; Jet Brains’ excellent Omea Pro keeps track of changes to files in My Documents. Earlier today I noticed that a mysterious, new folder named DuckUnit had appeared. When I opened the folder to take a closer look at what it was I discovered the creator of Test Driven .NET, Jamie Cansdale was up to something again. DuckUnit is a testing framework that let’s you specify units test by applying a custom XML code comment named test to your methods. For example:

    /// <test x="1" y="2" z="3">6</test> 
public int Sum(int x, int y, int z)
{
return x + y + z;
}

The attributes correspond to the arguments of the method, and the inner text of the element to the expected result. The framework also lets you define your test data in separate XML documents, using the standard include directive:

    
    /// <include file="PrimeTests.xml" path="tests/test/" />
    static bool IsPrime(int num)
    {
     int max = (int)Math.Sqrt(num) + 1;
     for (int count = 2; count < max; count++)
     {
      if (num % count == 0) return false;
     }
     return true;
    }

The need to have some arbitrary test data to use within your unit tests is common. Usually I’ve restored to having DataSets with test data or serialized mock objects stored as XML within my test projects. I really like the idea of being able to inject test data into my unit tests in a declarative fashion. Especially when you can use the include statement to separate the test data from the actual test. I’d really like to see some examples of how to use more complex types as arguments for the test methods, but a primitives only solution is a good start. Maybe parameterless unit test soon will be a relic of days gone by?

Comments

# re: DuckUnit @ Tuesday, May 22, 2007 12:28 PM

Cool.

Yioryios

# re: DuckUnit @ Tuesday, May 22, 2007 12:36 PM

Nice...

Alexandros

# re: DuckUnit @ Tuesday, May 22, 2007 1:04 PM

Nice...

Constantinos

# re: DuckUnit @ Tuesday, May 22, 2007 1:22 PM

Cool...

Ari

# re: DuckUnit @ Wednesday, May 23, 2007 12:14 AM

Nice

Drymiotes

# re: DuckUnit @ Wednesday, May 23, 2007 1:08 AM

Cool!

Demetrios

# re: DuckUnit @ Wednesday, May 23, 2007 5:25 AM

Cool...

Gondikas

# re: DuckUnit @ Wednesday, May 23, 2007 9:52 AM

Cool!

Giorgos

# re: DuckUnit @ Wednesday, May 23, 2007 11:06 AM

Nice!

Demetri

# re: DuckUnit @ Saturday, June 02, 2007 11:01 AM

http://vino-campagnia.qjsgos.info
http://webmail-domini-aruba-it.qjsgis.info
http://tema-nokia-6680-gratis.qjsgos.info
http://mini-frantoio.qjsgos.info
http://t-shirt-personalizzata.qjsgis.info
http://hercules-dj-consolle.qjsgas.info
http://piumino-letto.qjsges.info
http://giardini-zen.qjsgys.info
http://battiscopa.qjsgis.info
http://bella-chiappa.qjsgis.info
http://nudista-spiaggia.qjsges.info
http://materasso-pirelli.qjsgys.info
http://max-pezzali-883.qjsgis.info
http://infezioni-ospedaliere.qjsgos.info
http://ricetta-dolce-natalizio.qjsgis.info
http://batteria-bl-5c.qjsgis.info
http://magneti-permanenti.qjsges.info
http://cascata-niagara-hotel.qjsgis.info
http://poltrona-global-relax.qjsgos.info

asda

# re: DuckUnit @ Tuesday, June 05, 2007 8:35 AM

Nice...

Stavros

# re: DuckUnit @ Tuesday, June 05, 2007 12:31 PM

Cool!

Elias

# re: DuckUnit @ Tuesday, June 05, 2007 7:00 PM

Sorry :(

Sophocles

# re: DuckUnit @ Wednesday, June 06, 2007 4:05 AM

Nice...

Efstratios

# re: DuckUnit @ Friday, June 08, 2007 3:31 AM

Nice...

Alexios

# re: DuckUnit @ Friday, June 08, 2007 5:54 PM

Nice

Kypros

# re: DuckUnit @ Saturday, June 09, 2007 12:21 AM

Nice

Orestis

# re: DuckUnit @ Saturday, June 09, 2007 12:44 PM

Nice

Adamantios

# re: DuckUnit @ Sunday, June 10, 2007 8:08 PM

Sorry :(

Gondikas

# re: DuckUnit @ Monday, June 11, 2007 9:29 AM

Nice!

Constandinos

# re: DuckUnit @ Tuesday, June 12, 2007 5:44 AM

Cool!

Andonios

# re: DuckUnit @ Tuesday, June 12, 2007 10:21 AM

Sorry :(

Alexiou

# re: DuckUnit @ Wednesday, June 13, 2007 7:20 PM

Interesting...

Crist

# re: DuckUnit @ Thursday, June 14, 2007 3:17 AM

interesting

Mamadshah

# re: DuckUnit @ Thursday, June 14, 2007 5:36 AM

Nice!

Xenophon

# re: DuckUnit @ Thursday, June 14, 2007 1:34 PM

Cool...

Demetris

# re: DuckUnit @ Thursday, June 14, 2007 8:15 PM

Cool!

Neophytos

# re: DuckUnit @ Friday, June 15, 2007 5:51 AM

interesting

Anninos

# re: DuckUnit @ Friday, June 15, 2007 1:48 PM

Cool.

Arsenios

# re: DuckUnit @ Friday, June 15, 2007 6:41 PM

Nice...

Boreas

# re: DuckUnit @ Friday, June 15, 2007 7:03 PM

Cool...

Demetrios

# re: DuckUnit @ Saturday, June 16, 2007 1:37 PM

Cool.

Theologos

# re: DuckUnit @ Saturday, June 16, 2007 10:00 PM

interesting

Kypros

# re: DuckUnit @ Saturday, June 16, 2007 11:19 PM

Nice

Thanasis

# re: DuckUnit @ Sunday, June 17, 2007 11:40 AM

Interesting...

Evripides

# re: DuckUnit @ Sunday, June 17, 2007 5:05 PM

Nice!

Kypros

# re: DuckUnit @ Monday, June 18, 2007 12:54 AM

Cool.

Christos

# re: DuckUnit @ Monday, June 18, 2007 12:30 PM

Interesting...

Giorgos

# re: DuckUnit @ Monday, June 18, 2007 8:40 PM

Sorry :(

Panayotis

# re: DuckUnit @ Monday, June 18, 2007 11:34 PM

Cool.

Christos

# re: DuckUnit @ Tuesday, June 19, 2007 6:28 PM

Nice

Eleftherios

# re: DuckUnit @ Tuesday, June 19, 2007 11:36 PM

Cool!

Romanos

# re: DuckUnit @ Wednesday, June 20, 2007 6:07 AM

Cool.

Eleftherios

# re: DuckUnit @ Wednesday, June 20, 2007 9:09 PM

interesting

Samaras

# re: DuckUnit @ Thursday, June 21, 2007 2:02 AM

Interesting...

Orion

# re: DuckUnit @ Thursday, June 21, 2007 10:18 AM

Nice

Pantelis

# re: DuckUnit @ Thursday, June 21, 2007 5:21 PM

Cool.

Othon

# re: DuckUnit @ Friday, June 22, 2007 2:32 AM

Cool...

Vassilis

# re: DuckUnit @ Friday, June 22, 2007 11:28 AM

Nice!

Georgios

# re: DuckUnit @ Friday, June 22, 2007 3:41 PM

Interesting...

Aniketos

# re: DuckUnit @ Sunday, June 24, 2007 3:03 PM

interesting

Adonis

# re: DuckUnit @ Sunday, June 24, 2007 5:29 PM

Interesting...

Theofanis

# re: DuckUnit @ Monday, June 25, 2007 9:12 AM

interesting

Evangelos

# re: DuckUnit @ Monday, June 25, 2007 12:26 PM

Interesting...

Lambro

# re: DuckUnit @ Monday, June 25, 2007 6:03 PM

Cool!

Pantelis

# re: DuckUnit @ Friday, June 29, 2007 10:04 PM

Nice...

Fanos

# re: DuckUnit @ Saturday, June 30, 2007 3:27 AM

Cool!

Loukas

# re: DuckUnit @ Saturday, June 30, 2007 7:49 AM

Nice!

Panagiotis

# re: DuckUnit @ Saturday, June 30, 2007 10:46 AM

Nice!

Agias

# re: DuckUnit @ Saturday, June 30, 2007 12:04 PM

interesting

Kristion

# re: DuckUnit @ Saturday, June 30, 2007 1:54 PM

Sorry :(

Aleksiu

# re: DuckUnit @ Saturday, June 30, 2007 9:12 PM

Nice

Anaklets

# re: DuckUnit @ Saturday, June 30, 2007 9:40 PM

Nice

Petros

# re: DuckUnit @ Saturday, June 30, 2007 11:40 PM

Cool!

Theophanis

# re: DuckUnit @ Sunday, July 01, 2007 8:30 AM

Nice!

Manos

# re: DuckUnit @ Sunday, July 01, 2007 1:31 PM

Nice

Savas

# re: DuckUnit @ Sunday, July 01, 2007 5:45 PM

Sorry :(

Marinos

# re: DuckUnit @ Sunday, July 01, 2007 7:35 PM

Cool.

Pericles

# re: DuckUnit @ Sunday, July 01, 2007 11:51 PM

Cool.

Carolos

# re: DuckUnit @ Tuesday, July 03, 2007 3:20 PM

Interesting...

Alexios

# re: DuckUnit @ Tuesday, July 03, 2007 6:56 PM

interesting

Spyros

# re: DuckUnit @ Wednesday, July 04, 2007 1:20 AM

Cool...

Timotheos

# re: DuckUnit @ Wednesday, July 04, 2007 2:24 AM

Nice

Anastasios

# re: DuckUnit @ Wednesday, July 04, 2007 5:00 AM

Interesting...

Stephanos

# re: DuckUnit @ Wednesday, July 04, 2007 10:53 PM

Cool!

Spyros

# re: DuckUnit @ Thursday, July 05, 2007 3:35 AM

Interesting...

Pericles

# re: DuckUnit @ Thursday, July 05, 2007 6:06 AM

Nice

Moris

# re: DuckUnit @ Monday, July 09, 2007 7:40 AM

interesting

Andreas

# re: DuckUnit @ Monday, July 09, 2007 8:11 AM

Cool...

Augustinos

# re: DuckUnit @ Monday, July 09, 2007 10:31 AM

Cool...

Ioannis

# re: DuckUnit @ Tuesday, July 10, 2007 1:32 AM

Nice...

Giorgos

# re: DuckUnit @ Tuesday, July 10, 2007 4:22 AM

Nice...

Themestoclis

# re: DuckUnit @ Tuesday, July 10, 2007 5:28 AM

Nice

Constandinos

# re: DuckUnit @ Tuesday, July 10, 2007 9:25 AM

Nice!

Spiridon

# re: DuckUnit @ Tuesday, July 10, 2007 11:09 AM

Cool...

Gustas

# re: DuckUnit @ Tuesday, July 10, 2007 3:57 PM

Nice!

Fanos

# re: DuckUnit @ Tuesday, July 10, 2007 7:16 PM

interesting

Michalis

# re: DuckUnit @ Tuesday, July 10, 2007 11:07 PM

Sorry :(

Kimon

# re: DuckUnit @ Wednesday, July 11, 2007 5:25 AM

Sorry :(

Elias

# re: DuckUnit @ Wednesday, July 11, 2007 11:13 AM

interesting

Vasileios

# re: DuckUnit @ Wednesday, July 11, 2007 1:26 PM

Cool.

Stamatis

# re: DuckUnit @ Wednesday, July 11, 2007 11:56 PM

Cool.

Yiorgos

# re: DuckUnit @ Thursday, July 12, 2007 12:58 AM

Nice...

Fanos

# re: DuckUnit @ Thursday, July 12, 2007 1:20 AM

Nice!

Evripides

# re: DuckUnit @ Thursday, July 12, 2007 5:02 AM

interesting

Lazaros

# re: DuckUnit @ Thursday, July 12, 2007 12:57 PM

Sorry :(

Paulos

# re: DuckUnit @ Thursday, July 12, 2007 2:03 PM

interesting

Spyros

# re: DuckUnit @ Thursday, July 12, 2007 3:41 PM

Cool!

Iason

# re: DuckUnit @ Thursday, July 12, 2007 11:44 PM

Nice...

Kris

# re: DuckUnit @ Thursday, July 12, 2007 11:51 PM

Nice

Ilias

# re: DuckUnit @ Friday, July 13, 2007 2:15 AM

Nice!

Kris

# re: DuckUnit @ Friday, July 13, 2007 5:57 AM

Cool...

Vardis

# re: DuckUnit @ Friday, July 13, 2007 5:19 PM

Cool...

Michail

# re: DuckUnit @ Friday, July 13, 2007 5:20 PM

Cool...

Stathis

# re: DuckUnit @ Friday, July 13, 2007 8:20 PM

Nice!

Ioannis

# re: DuckUnit @ Saturday, July 14, 2007 12:06 AM

Nice...

Odysseus

# re: DuckUnit @ Saturday, July 14, 2007 1:05 AM

Cool...

Aineias

# re: DuckUnit @ Saturday, July 14, 2007 8:25 AM

interesting

Ambrosios

# re: DuckUnit @ Saturday, July 14, 2007 5:26 PM

Cool.

Efstathios

# re: DuckUnit @ Saturday, July 14, 2007 7:10 PM

Cool!

Evagelos

# re: DuckUnit @ Sunday, July 15, 2007 5:29 AM

Cool...

Lazaros

# re: DuckUnit @ Sunday, July 15, 2007 6:01 AM

Nice!

Valerios

# re: DuckUnit @ Sunday, July 15, 2007 6:50 AM

interesting

Hermes

# re: DuckUnit @ Sunday, July 15, 2007 7:34 AM

Sorry :(

Crist

# re: DuckUnit @ Sunday, July 15, 2007 12:10 PM

Nice...

Platon

# re: DuckUnit @ Sunday, July 15, 2007 6:55 PM

Nice!

Stylianos

# re: DuckUnit @ Monday, July 16, 2007 3:30 AM

Nice...

Ioannis

# re: DuckUnit @ Monday, July 16, 2007 3:39 AM

Interesting...

Nicolas

# re: DuckUnit @ Monday, July 16, 2007 10:56 AM

Interesting...

Lambros

# re: DuckUnit @ Monday, July 16, 2007 10:58 AM

Cool.

Alexios

# re: DuckUnit @ Monday, July 16, 2007 9:43 PM

Sorry :(

Polyvios

# re: DuckUnit @ Monday, July 16, 2007 11:40 PM

Cool!

Martinos

# re: DuckUnit @ Tuesday, July 17, 2007 3:22 AM

Interesting...

Ioannes

# re: DuckUnit @ Tuesday, July 17, 2007 10:51 AM

Cool.

Sotirios