BooUnit is a DSL written using boo language ( around BizUnit to simplify generation of BizUnit test cases.
BizUnit ( is a Framework for Automated Testing of Distributed Systems often used to test BizTalk Solutions.


BizUnit is a test framework for distributed systems, it's particularly useful to test BizTalk solutions since it comes with a lot of precooked BizTalk test steps.
Unfortunately, at lease IMHO, the design decision of using XML format to declare test cases make really difficult writing tests and managing them manually.
In particular, aside from difficulty in reading and writing directly XML code, a developer still have to define C# boilerplate code to instantiate and launch test cases and, since XML format is just text and not a real programming language, there's no way to add computations and logic directly in the test case aside from implement a custom step and invoking it from test case.

Using DSL capabilities of Boo Language BooUnit hides BizUnit XML format behind a Boo dialect, this has several advantages:
  1. DSL Syntax is simpler to write and read than BizUnit XML counterpart.
  2. BooUnit tests are in fact boo code and therefore are complete programs, this means that a developer can add custom logic and computations directly in the test instead of simply invoking a sequence of BizUnit steps.
  3. Since Boo comes with an interpreter, there's no need to compile BooUnit tests, therefore, exactly as BizUnit tests, BooUnit tests are just text files but, differently from BizUnit, they're directly executables.
  4. BooUnit DSL hides boilerplate startup code, therefore BooUnit scripts can be written and launched, there's no need to compile C# code to startup tests.


Obviously BooUnit could not be realized without Boo and BizUnit therefore credits goes to Kevin B. Smith for his great testing framework and Rodrigo B. De Oliveira, Marcus Griep and other terrific guys of Boo programming language for the jewel they're realizing.

If someone will ever find BooUnit useful it's just thanks to their work. I merely put the glue :)

Last edited May 1, 2008 at 5:17 PM by KidFashion, version 6