我正在使用 AutoFixture 和 AutoMoq 在这样的单元测试中模拟我的依赖项
public class MyObject
{
public string Value { get; set; }
}
public interface IMyService
{
MyObject GetMyObject();
}
public class Tests
{
[Fact]
public void MyTest()
{
var fixture = new Fixture().Customize(new AutoMoqCustomization());
var myService = fixture.Create<Mock<IMyService>>();
// I want myObject to be null, but I'm getting a Mock<MyObject> instead
var myObject = myService.Object.GetMyObject();
}
}
我希望该行var myObject = myService.Object.GetMyObject();
返回null
,但它返回一个Mock<MyObject>
值。我知道我可以myService.Setup(e => e.GetMyObject()).Returns((MyObject)null);
明确告诉它返回 null,但是我在整个测试过程中调用了许多类似的方法,我希望它们默认返回 null,而无需我显式调用Setup
它们。
null
有没有办法将夹具设置为默认情况下模拟返回的所有方法?