我有一些看起来像这样的代码
[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 后立即开始。那可能吗?