【发布时间】:2015-04-03 08:43:20
【问题描述】:
有人知道为什么我在尝试模拟我的帐户控制器登录方法时遇到此异常吗?
这是起订量代码:
[TestMethod]
public void Can_Validate_User()
{
// Arrange
Mock<IAccountService> mockAccountService = new Mock<IAccountService>();
mockAccountService.Setup(m => m.Login(It.Is<string>(userName => userName == "Samuel"),
It.Is<string>(password => password == "password")))
.Returns<bool>(b => true);
AccountController target = new AccountController(mockAccountService.Object);
// Act
RedirectResult result1 = (RedirectResult)target.Login("Samuel", "password");
//RedirectResult result2 = (RedirectResult)target.Login("RK", "password");
//RedirectResult result3 = (RedirectResult)target.Login("Tatiana", "password");
// Assert
Assert.AreEqual(result1, "~/DashBoard/Cases");
//Assert.AreEqual(result2, "~/DashBoard/Cases");
//Assert.AreEqual(result3, "~/DashBoard/Cases");
}
在我的 AccountController/Login 操作中,它在这一行崩溃:
bool loginValid = _accountService.Login(userName, password);
_accountService 使用 DI 设置,带有 IAccountService 实例,mock.object。
public interface IAccountService
{
bool Login(string userName, string password);
}
【问题讨论】:
标签: moq