단위 테스트를 사용자 지정 ConfigurationElementCollection
, 시도하고 있지만 프로그래밍 방식으로 컬렉션을 채우는 데 문제가 있습니다. BaseAdd()
을 호출하면 다음 예외가 발생합니다.프로그래밍 방식으로 ConfigurationElementCollection에 요소를 추가하려면 어떻게해야합니까?
ConfigurationErrorsException : 요소 '추가'가 상위 구성에서 잠겼습니다.
그러나이 문제는 여러 테스트를 실행할 때만 나타납니다. 다음 두 가지 테스트를 고려하십시오.
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);
}
각 개별 테스트는 단독 실행시 통과합니다. 함께 실행하면 잠금 예외가 발생합니다.
여기 무슨 일 이니? 컬렉션을 잠금 해제하거나 해당 잠금을 해결하려면 어떻게합니까?
TenantCollection 구현의 IsReadOnly 메서드를 재정의하고 false를 반환 할 수 있습니다. –