質問

Xunit.netとXunit Extensionsによって提供されるAutorollback属性を使用して、テストケースを作成しようとしています。

私のテストケースはこのようになります

[Fact, AutoRollback]<br>
public void TestCase()<br>
{

    // insert into data table
    repository.Insert(data);

    // spawn a new thread and read data which you just inserted in the data table
    Task.Factory.StartNew(action_to_read_data);
}

このテストケースは、新しいスレッドでデータを読み取る間、接続タイムアウトの例外を失敗し、スローします。私が見つけた問題は、テストケースがAutorollback属性のためにトランザクションを開始し、データを挿入している間、最後にロールバックのテーブルをロックすることです。テストケースによって生まれた新しいスレッドは、親スレッドによってロックされているため、同じテーブルからデータを読み取ることができません。ただし、同じスレッドでデータを読むことができます。

誰かが解決策を持っていますか?上記のデータを読んで複数のスレッドを実行したい。

正しい解決策はありません

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top