我有一個字典,我正在使用,以避免寫大if語句。它將一個枚舉映射爲一個動作。它看起來像這樣:單元測試委託操作被稱爲
var decisionMapper = new Dictionary<int, Action>
{
{
(int) ReviewStepType.StandardLetter,
() =>
caseDecisionService.ProcessSendStandardLetter(aCase)
},
{
(int) ReviewStepType.LetterWithComment,
() =>
caseDecisionService.ProcessSendStandardLetter(aCase)
},
{
(int) ReviewStepType.BespokeLetter,
() =>
caseDecisionService.ProcessSendBespokeLetter(aCase)
},
{
(int) ReviewStepType.AssignToCaseManager,
() =>
caseDecisionService.ProcessContinueAsCase(aCase)
},
};
那麼我這樣稱呼它在我的方法:
decisionMapper[(int) reviewDecisionRequest.ReviewStepType]();
我的問題是我怎麼能單元測試這些映射? (我使用NUnit和C#4.0)
我怎麼能斷言,當我打電話給我的decisionMapper - 即1等於呼叫-caseDecisionService.ProcessSendStandardLetter(aCase)。
非常感謝。
ReviewStepType是什麼類型?枚舉?如果你可以Enum.GetValues()(然後將每一個轉換爲int)。 – 2012-03-20 11:07:27
嗨,謝謝,是它的一個枚舉。這將如何與測試一起工作?我想知道我已經正確地完成了我的映射。 – Sean 2012-03-20 11:10:56