
Microsoft Windows Workflow Foundation 4.0 Cookbook
By :

In this task, we will create a Test Project to do unit testing for a WF program.
Add a Test Project to the solution:
Add a Test Project to the Chapter01
solution and name the project as UnitTestForWFProgram
as shown in the following screenshot:
Add a workflow file to the Test Project:
Add a workflow activity to this project. Right-click the newly created Test Project, then go to Add | New Items… | Workflow | Activity and name the activity as WorkflowForTest.xaml
. In the opening WF designer, create an OutArgument
as OutMessage. Next, drag an Assign
activity to the Designer panel and assign the string "Test Message" to the OutMessage argument as shown in the following screenshot:
In WF4, workflow is actually an Activity class. We could see "Workflow" as a conception from a macroeconomic viewpoint, while considering "Activity" as a development concept.
Create unit test code:
Open the UnitTest1.cs
file and fill the file with following code:
using Microsoft.VisualStudio.TestTools.UnitTesting; using System.Activities; namespace UnitTestForWFProgram { [TestClass] public class UnitTest1 { [TestMethod] public void TestMethod1() { var output = WorkflowInvoker.Invoke(new WorkflowForTest()); Assert.AreEqual("Test Message", output["OutMessage"]); } } }
Run it:
Set UnitTestForWorkflow
as Startup project. Press Ctrl+F5 to build and run the test without debugging as shown in the following screenshot:
In the preceding code snippet, [TestClass]
indicates it is a unit test class, whereas [TestMethod]
indicates a test method. When the Test Project runs, the test method will be executed automatically.
In real application development, we can also create a separate Unit Test project and add a reference to the target project.
Change the font size
Change margin width
Change background colour