2012-01-24 29 views
0

我有一個看起來像這樣的代碼:爲什麼有些事件在用Moq嘲笑WCF時不會提高?

mockSecurityService 
    .Setup(s => s.CreateUserWithRolesAsync(
     It.IsAny<MembershipRoles>(), 
     It.IsAny<string>(), 
     It.IsAny<MembershipCreateStatus>())) 
    .Raises(p => p.CreateUserWithRolesCompleted += null, 
     new CreateUserWithRolesCompletedEventArgs(new object[] { mr }, 
      null, false, null) 
    ); 

但當CreateUserWithRolesAsync()被調用,在起訂量時犯規引起人們的關注。任何想法爲什麼?我瀏覽了很多文檔,應該提出,因爲簽名匹配(It.IsAny<T>正確匹配所有類型)。

+1

你可以發佈你的測試代碼嗎(例如你如何在測試方法中訂閱/調用它)?你設置模擬的方式似乎是正確的,這意味着問題在別處。 –

回答

0

它在我看來,你有不同的簽名的方法CreateUserWithRolesAsync。因此呼叫CreateUserWithRolesAsync()將不匹配具有三個參數的呼叫的設置。

爲了幫助您,您還需要發佈CreateUserWithRolesAsync的所有不同簽名以及不能正常工作的測試。