Próbując wysuszyć moje testy jednostkowe, próbuję użyć AutoFixture jako kontenera IoC do utworzenia instancji testowanego systemu (SUT), który w tym konkretnym przypadku to ASP.NET MVC Controller
s. Dlatego chcę dostosować AutoFixture do tworzenia kontrolerów bez właściwości automatycznych.Jak zastosować dostosowania AutoFixture do wszystkich dziedziczących z klasy bazowej?
Próbowałem dodać dostosowanie do ControllerBase
, ale nie wydaje się działać dla podklas ControllerBase
.
fixture.Customize<ControllerBase>(c => c.OmitAutoProperties());
Oto przykład testu Chcę, aby móc napisać:
[Theory, AutoFixtureData]
public void ControllerTest(AccountController controller) {
Assert.Equal(default(UrlHelper), controller.Url);
}
Oczywiście, to działa, jeśli ręcznie dodać jeden dostosowanie do każdego konkretnego kontrolera w moim projekcie, ale kto chce Zrób to? Czy istnieje lepszy sposób?
używam http://stackoverflow.com/a/11657881/11635 –