【发布时间】:2020-11-17 16:33:15
【问题描述】:
使用这种结构。
public class User
{
public string FirstName { get; set; }
public string MiddleName { get; set; }
public string LastName { get; set; }
public virtual bool IsAdministrator()
{
return false;
}
}
是否可以结合AutoFixture 和Moq 来完成以下操作?
- 确保
User.FirstName是自动生成的 - 确保
User.LastName始终为“Smith”(字面意思) - 确保
User.MiddleName未填充(默认) - 确保 User.IsAdministrator() 返回
True - 验证
IsAdministrator()是否被调用。
我知道这看起来很简单。这是我尝试使用 AutoMoq 的方法。
var config = new AutoMoqCustomization()
{
ConfigureMembers = true
};
var fixture = new AutoFixture.Fixture();
fixture.Customize(config);
fixture.Freeze<Mock<User>>()
.Setup(x => x.IsAdministrator())
.Returns(true);
var model = fixture.Build<User>()
.With(x => x.LastName, "Smith")
.Without(x => x.MiddleName)
.Create();
但这显然是错误的。 :( 我相信语法很简单。谢谢你的帮助。
My goal:创建一个同时具有填充属性和模拟方法的对象。
【问题讨论】:
标签: c# moq autofixture automoq