【发布时间】:2014-12-03 15:11:21
【问题描述】:
我有一个登录数据库并检查用户名和密码的单元测试,但我现在需要使用模拟重新创建这些测试。
我一直在网上搜索,但找不到与我想要实现的目标类似的东西。以下是原始测试
[TestMethod()]
public void LoginTest()
{
this.errorText = string.Empty;
this.user = MasterDataManager.GetInstance().Login("JohnSmith", "123", out errorText);
Assert.AreEqual(string.Empty, errorText);
}
我根据我在网上找到的内容编写了一个测试,它通过了,但我真的不知道为什么要诚实。我在这里使用过 Rhino Mocks,但我愿意接受任何帮助或解决方案来帮助我前进
[TestMethod()]
public void LoginTestMock()
{
var repo = MockRepository.GenerateMock<IAbstractConnector>();
repo.Login("JohnSmith", "123", out errorText);
repo.VerifyAllExpectations();
}
【问题讨论】:
-
你认为“VerifyAllExpectations”会检查什么?在这种情况下,您认为“通过单元测试”实际上意味着什么?
-
你想测试什么?
-
我正在尝试模拟一个返回空字符串的测试
-
您的测试只使用了一个模拟,这并没有多大意义。在我看来,您仍然应该调用与最初相同的方法,但将模拟传递给被测类,因此它实际上不会访问数据库。
标签: c# unit-testing rhino-mocks