【发布时间】:2012-11-07 10:29:15
【问题描述】:
在测试方法中传递对象参数的最佳做法是什么? 在这种情况下使用什么?(模拟,存根或创建对象实例并填充它)
例如:
[Test]
public void LoadContentsFor_ValidUser_ReturnsEmptyList()
{
var user = new User {Id = 1, FirstName = "Test"};
var contents = this.contentPresentationService.LoadContentsFor(user);
Assert.IsTrue(contents.Count == 0);
}
或者使用模拟:
[Test]
public void LoadContentsFor_ValidUser_ReturnsEmptyList()
{
var user = new Mock<User>();
user.Setup(x => x.Id).Returns(1);
user.Setup(x => x.FirstName).Returns("Test");
var contents = this.contentPresentationService.LoadContentsFor(user.Object);
Assert.IsTrue(contents.Count == 0);
}
【问题讨论】:
标签: c# unit-testing mocking moq stub