私はこのようなコードをいくつか持っています
[Test, TestCaseSource("NspecRunner")]
public void TextContext (example thing)
{
//does testing like things using thing
while( othread.threadState == running && currentTestCount == StaticList.count)
Thread.Sleep(1000)
}
public List<example> NspecRunner
{
ClassName x = new ClassName
Thread othread = new Thread(new ThreadStart(() => x.function_that_adds_to_StaticList()));
return ClassName.StaticList;
}
ただし、Nunit は、最初の参照後に返される StaticList を参照することはありません。他のスレッドがその静的クラスに新しいものを追加すると、新しいテストが作成されるように、TestCaseScenario を再評価する方法を知っていますか。私は他のフレームワークに対して完全にオープンです。または、Nunit プロジェクトのどこで TestCaseSource の動作を変更する方法を見つけることができるかを知っていれば、それは素晴らしいことです。
編集: ClassName.StaticList 内の各項目のテストを作成しようとしています。リストにいくつ含まれるかはわかりませんが、アイテムが他のスレッドによって StaticList に追加された直後に各テストを開始したいと考えています。それは可能ですか?