簡體   English   中英

UnitTest WorkflowInstanceID異常

[英]UnitTest WorkflowInstanceID Exception

我正在對StateMachineWorkflow進行單元測試,並通過單擊測試項目來創建測試方法,然后創建Add-UnitTest。 在項目窗口中,選擇要測試的工作流程及其中的所有方法。

Visual Studio在我的測試項目中生成了帶有工作流訪問器的“測試引用”文件夾。 它還生成了測試所需的所有TestMethod()。 所有測試方法都使用MyWorkflow_Accessor目標= new MyWorkflow_Accessor()。 當我需要調用一個函數時,只需執行諸如target.SendEmail()之類的操作即可。

一切正常,除了一件事: 我無法使用Workflow的WorkflowInstanceId ,當代碼到達使用此代碼的行時,它將在Workflow中引發異常,“ 這是無效的設計時操作。您只能執行運行時的操作。 “是否可以通過代碼注入WorkflowID? 有什么解決方法嗎? 我在許多函數中使用了WorkflowInstanceId,並且更改工作流程代碼以匹配我的測試似乎不是一個好主意,因為我認為問題出在測試中,而不是工作流程中。

從您的問題尚不清楚,您是使用WF 3.5還是WF4進行狀態機更新。 對於后者,可以使用Microsoft.Activities.UnitTesting來測試工作流。

聽起來您正在使用WF 3.5。 如果這是新的發展,我將認真考慮遷移到WF4。 Microsoft基本上重寫了WF,並且切換越早,遷移路徑就越容易。

否則,有一些有關在MSDN使用WF 3.5進行測試的信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM