【发布时间】:2014-03-17 10:57:32
【问题描述】:
我试图理解使用模拟单元测试,我从 MOQ 开始。这个问题也可以笼统地回答。
我只是想重用How to setup a simple Unit Test with Moq?中给出的代码
[TestInitialize]
public void TestInit() {
//Arrange.
List<string> theList = new List<string>();
theList.Add("test3");
theList.Add("test1");
theList.Add("test2");
_mockRepository = new Mock<IRepository>();
//The line below returns a null reference...
_mockRepository.Setup(s => s.list()).Returns(theList);
_service = new Service(_mockRepository.Object);
}
[TestMethod]
public void my_test()
{
//Act.
var myList = _service.AllItems();
Assert.IsNotNull(myList, "myList is null.");
//Assert.
Assert.AreEqual(3, myList.Count());
}
这是我的问题
1 .在 testInitialize 中,我们将列表计数设置为 3(字符串),我们使用 MOQ 返回相同的值,在下面的行中,我们将得到相同的结果
var myList = _service.AllItems(); //Which we know will return 3
那么我们在这里测试的是什么?
2 。单元测试失败的可能场景是什么?是的,我们可以将错误的值设为 4 并通过测试。但在实时我看不到任何失败的可能性?
我想在理解这些概念方面有点落后。我确实了解代码,但正在尝试获得见解!希望有人可以帮助我!
【问题讨论】:
标签: asp.net-mvc unit-testing mocking moq