Próbuję przeprowadzić test jednostkowy niestandardowego ConfigurationElementCollection
, ale mam problem programowo zapełniający kolekcję. Gdy zadzwonię pod numer BaseAdd()
, otrzymuję następujący wyjątek:Jak programowo dodawać elementy do ConfigurationElementCollection?
ConfigurationErrorsException: Element "add" został zablokowany w konfiguracji wyższego poziomu.
Jednak ten problem pojawia się tylko podczas uruchamiania wielu testów. Rozważ te dwa testy:
private Fixture Fixtures = new Fixture(); // AutoFixtures
[Test]
public void test1()
{
var tc = Fixtures.CreateAnonymous<TenantCollection>();
var t = Fixtures.CreateAnonymous<Tenant>();
tc.Add(t);
}
[Test]
public void test2()
{
var tc = Fixtures.CreateAnonymous<TenantCollection>();
var t = Fixtures.CreateAnonymous<Tenant>();
tc.Add(t);
}
Każdy pojedynczy test przechodzi po wykonaniu samodzielnie. Po uruchomieniu razem generowany jest wyjątek blokowania.
Co tu się dzieje? Jak mogę odblokować kolekcję lub obejść ten zamek?
Możesz również zastąpić metodę IsReadOnly ze swojej implementacji TenantCollection i zwrócić wartość false –