0
我想確保在lambda表達式是一樣的預期表達犀牛製品測試Lambda表達式
此外,我想要寫測試用例期望值
如果我寫匹配它不工作
例如
public bool IsUserActive(User user)
{
userRepository.Any(x=>x.UserId== user.UserId && x.IsActive);
}
單元測試案例
userRepository.Stub(x=>x.IsActive(Arg<User>.Matches(y=>y.IsActive)).Return(true);
上述表達式不工作
我所見過的例子,但我想測試一些lambda表達式,通過檢查條件
不是用戶名字符串
stubUserRepository.Stub(x =>
x.GetUserByName(Arg<string>.Matches(y =>
y.StartsWith("aye", StringComparison.InvariantCulture)
|| y.StartsWith("stein", StringComparison.InvariantCulture)))
.Return(theUser);
Assert.AreSame(theUser, stubUserRepository.GetUserByName("steinegger"));
Assert.AreSame(theUser, stubUserRepository.GetUserByName("ayende"));
返回布爾
匹配contstraint不是斷言一個拉姆達完全匹配到您希望它你的λ,你應該測試,該方法輸出您希望爲每個不同的值不同類型的輸入。測試編寫的代碼是否是您編寫的代碼並不是特別有效。 – Servy 2014-10-01 16:00:30