我想添加一个单元测试到我有的认证类。所以,基本上它所做的是我拨打Login
,我希望它会返回true,并且副作用会添加一个cookie。如何使用Moq并只检查传入函数的对象的一部分?
这里是我的单元测试至今:
var mock=new Mock<IServerContext>(); //AddCookie method is within IServerContext
FSCAuth.Config.Server=mock; //set authentication to use mocked interface
mock.Setup(x=>x.AddCookie(new HttpCookie().Name=="??")); //question here
FSCAuth.Login("foo", "bar", false);
mock.VerifyAll();
我的问题是我怎么能检查传入的addCookie的说法?基本上,我想要做的就是像
bool AddCookieVerify(HttpCookie cookie)
{
return cookie.Name=="foobar"
}
如果我的验证函数返回false,然后抛出一个错误。我不明白如何在Moq中表达这个操作。
我该怎么做?