Birim sınamalarının, kapsayıcısını aramaya güvenmemesine çalışıyorum. Bağımlılıkları için <T>()'u çözünüz.Bağımlılık enjeksiyonunu kolaylaştırmak için parametresiz bir kurucu olmadan bir .NET birimi sınaması
Şu anda AutoFac 2.2.4 kullanarak ve xUnit.NET ve NUnit çalıştı, ancak her ikisi de bu sorunu var ediyorum: Bu nesne
için tanımlananyok parametresiz yapıcı
nasıl bu konudaki geçmiş alabilirim? Bunu destekleyecek belirli bir birim test çerçevesi mi, yoksa söz konusu çerçeve nasıl yapılandırılmış?
Bunu yaparken gerekmiyor mu? Ya da test sınıfını, yalnızca bağımlılığı olan kurucuyla çalışacak şekilde ayarlayabilir miyim?İşte kod bazıları aşağıda verilmiştir:
public class ProductTests : BaseTest
{
readonly private IProductRepository _repo;
public ProductTests(IProductRepository r)
{
_repo = r;
}
//working unit tests here with default constructor
}
Ben temel sınıf yapıcısı yanlış kabı başlatmak için tercih mü?
public abstract class BaseTest
{
protected BaseTest()
{
var builder = new ContainerBuilder();
builder.RegisterType<ProductRepository>().As<IProductRepository>();
builder.Build();
}
}
Test sınıfının neden bir kurucuya ihtiyacı var? "Enjeksiyon" ayar yöntemine koyun. –