단위 테스트가 종속성에 대해 컨테이너를 호출하는 데 의존하지 않도록하려고합니다. <T>()종속성 주입을 용이하게하기 위해 매개 변수없는 생성자가없는 .NET 단위 테스트
것은 나는 현재 AutoFac 2.2.4을 사용하고 xUnit.NET 및 NUnit과했지만, 모두 이 문제이있어 :이 객체
에 대해 정의없음 매개 변수가없는 생성자를
어떻게이 문제를 해결할 수 있습니까? 이것을 지원할 특별한 단위 테스팅 프레임 워크인가, 아니면 단지 프레임 워크가 어떻게 구성되어 있는가?
이 작업을 수행하지 않아야합니까? 아니면 단지 의존성이있는 생성자와 함께 작동하도록 테스트 클래스를 설정할 수 있습니까?
여기에 코드의 일부는 다음과 같습니다
public class ProductTests : BaseTest
{
readonly private IProductRepository _repo;
public ProductTests(IProductRepository r)
{
_repo = r;
}
//working unit tests here with default constructor
}
내가 기본 클래스 생성자에서 잘못 컨테이너를 초기화를 선택 했습니까?
public abstract class BaseTest
{
protected BaseTest()
{
var builder = new ContainerBuilder();
builder.RegisterType<ProductRepository>().As<IProductRepository>();
builder.Build();
}
}
테스트 클래스에 생성자가 필요한 이유는 무엇입니까? "주입"을 설정 방법에 넣습니다. –