Estoy intentando probar la unidad de forma personalizada ConfigurationElementCollection
, pero tengo un problema al completar la colección mediante programación. Cuando llamo BaseAdd()
, me sale el siguiente excepción:¿Cómo agrego elementos mediante programación a una ConfigurationElementCollection?
ConfigurationErrorsException: se ha bloqueado en una configuración de mayor nivel, el elemento 'añadir'.
Sin embargo, este problema solo aparece cuando se ejecutan varias pruebas. Tenga en cuenta estas dos pruebas:
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);
}
Cada prueba individual pasa cuando se ejecuta solo. Cuando se ejecutan juntos, se lanza la excepción de bloqueo.
¿Qué está pasando aquí? ¿Cómo puedo desbloquear la colección o trabajar alrededor de ese bloqueo?
También puede anular el método IsReadOnly de la implementación de TenantCollection y devolver falso –