WaitHandle.WaitAll()
使用 Visual Studio 的内置单元测试解决方案时,有没有办法进行单元测试。当我尝试在 Visual Studio 中运行使用此函数的测试时,测试失败,并且在检查测试结果时显示以下错误:
WaitAll for multiple handles on a STA thread is not supported
我希望能够对 的使用进行单元测试,WaitAll()
因为越来越多的 API 代码库现在正在转向一种IAsyncResult
模式,而不是其他进行多线程操作的方式。
编辑
根据 Anthony 的建议,这里有一个简单的辅助方法,可用于在单元测试环境中调用此类代码:
public static void TestInMTAThread(ThreadStart info)
{
Thread t = new Thread(info);
t.SetApartmentState(ApartmentState.MTA);
t.Start();
t.Join();
}