Introducing BizUnit

Basically, BizUnit works in a black-box mode. Lets assume we have an orchestration that takes data from a file location and then submits it to a Queue or a webservice and then to a database. Now if we wanted to manually test it ,we would have to create a sample file, place it in the folder corresponding to the orchestrations 'receive location' and then check that it arrived on the queue and finally at the database (and if the webservice itself logged the SOAP request, we can check for the presence of an entry in the appropriate log file).

With BizUnit, we can automate the steps that we have done manually. We can create a folder with all our sample files (which is a pre-requisite manual step) and write BizUnit Steps to copy the files to the recieve locations, and to check the queues, log files and databases.

As with all automated testing, when you have to do this step once or twice, it is easy enough to do manually, but when data conditions start to grow and you need an automated test as part of your automated build and release process, then this becomes invaluable. Further, when you do integration testing and need to verify the flow of messages between various services and components, manual testing is simply not sustainable.

An interesting thing about BizUnit is that since most of the steps involve copying files, posting to SOAP endpoints, checking queues, databases and event logs, this tool can be used to test non Biztalk projects as well. We can simply ignore the steps that pertain to Biztalk such as BAMQueryStep. In the latest codebase for the BizUnit core , Kevin Smith has taken this approach and split up the codebase. We will be doing the same with the rest of the Extensions libraries.

BizUnit - Basic Tutorials

There is some existing material that introduces BizUnit so i wont waste space by reinventing the wheel and writing the same kind of stuff here. The articles you can refer to are

(1) Intro to BizUnit on CodePlex by Kevin Smiths
(2) Unit Testing Orchestrations with BizUnit by Naveen Karamchetti
(3) Getting started with BizUnit and NUnit

Last edited Mar 24, 2007 at 8:24 PM by santoshbenjamin, version 1

Comments

lfleal67 Apr 20, 2007 at 9:11 PM 
The first link is bad, it should be http://www.codeplex.com/bizunit