Finally the next major release of the BizTalk Software Factory is on CodePlex, version 1.5.
This version supports, besides the current functionality, the following:
- Solution folders for the BRE artifacts Rules and Policies
- Support for creating Pipeline Components
- Support for generating Unit Tests
Adding solution folders to the guidance was a piece of cake, but it took quite some time to figure out how to integrate Martijn Hoogendoorn's Pipeline Component Wizard. The classes he used to derive his dialog classes from aren't supported in the guidance so I actually had to understand what he was doing there instead of just copying. But that is also a good thing.
You can now add a Pipeline Component to your project like any other artifact and the wizard is basically the same as Martijn used. The only thing I skipped was the image that you can set on the component. Thanks for borrowing your code Martijn! I was also able to solve one issue in the Pipeline Component Wizard regarding SchemaList design-time properties. Thanks to Kader Yildirim (http://www.techheadbrothers.com/Articles.aspx/decouverte-biztalk-server-2006-1-3-page-4). The page is in French, but babefish does a great job if your French is as good as mine.
Another need to have was the ability to generate unit tests for artifacts. I wanted to add all kinds of generated tests like for BRE Rules, Policies and Pipelines. I know Martijn also has written something to unit test BRE Rules and I know there is a nice Pipeline test framework. Unfortunately lack of time made me skip these things. Feel free to add it to the code J
So, what was I able to add?
- Support to generate unit tests for Schemas
- Support to generate unit tests for Maps
- Support to generate unit tests for Orchestrations
What you can do now is select the unit test project and select 'Add' from the context menu. You'll see options to add these artifacts. For Schemas, I used the class Michael Stephenson wrote (http://geekswithblogs.net/michaelstephenson/archive/2008/03/30/120850.aspx). This class does and XSD validation of the supplied XML test message. You can also use BizUnit for this. For testing a map I also (tried to) used a class from Michael Stehpenson. This was not as easy as it looked and at the end I decided to leave the code in there but it doesn't work as I would like it to. Besides the custom transform there is another issue because the output of the transform is character by character compared to the 'expected' output. Because of this way of comparing it marks an output of <Body/> not the same as <Body></Body> so the test would fail.
In a next version of BizUnit it is possible to test a map, but maybe someone has built a custom step for this and is willing to share it with me so I can put it in now. J
For orchestrations the regular unit test is generated, together with a test-case and test-data file.
The one big thing missing is setup and deployment. There were plans of also putting it into this release, but at the moment it would just take too much time. Maybe next release.
If you're working with BizTalk, go get it here!!
(and don't forget to share your opinion on the BSF with me, I'm very interested in improving it)