私はユニットConfigurationElementCollection
をカスタムテストしようとしていますが、プログラム的にコレクションに値を設定する問題があります。ConfigurationElementCollectionに要素をプログラムで追加するにはどうすればよいですか?
ConfigurationErrorsException:要素「追加」より高いレベルの構成でロックされている私は
BaseAdd()
を呼び出すと、私は次の例外を取得します。
ただし、この問題は、複数のテストを実行している場合にのみ表示されます。
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を返すこともできます –