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 asUnitTestForWFProgram
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 anOutArgument
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: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: