为了干掉我的单元测试,我尝试使用 AutoFixture 作为 IoC 容器来实例化我的被测系统 (SUT),在这种特殊情况下是 ASP.NET MVC Controller
。因此,我想自定义 AutoFixture 以创建没有自动属性的控制器。
我尝试为 . 添加自定义ControllerBase
,但它似乎不适用于ControllerBase
.
fixture.Customize<ControllerBase>(c => c.OmitAutoProperties());
这是我希望能够编写的测试示例:
[Theory, AutoFixtureData]
public void ControllerTest(AccountController controller) {
Assert.Equal(default(UrlHelper), controller.Url);
}
当然,如果我为项目中的每个特定控制器手动添加一个自定义项,它就会起作用,但谁愿意这样做呢?有没有更好的办法?