标签: c# multithreading unit-testing asynchronous threadpool
如何强制单元测试等待线程在sut的公共方法中完成。线程池工作项中的操作在方法中都是本地的。
要测试的方法是这样的:
public void Func() { ThreadPool.QueueWorkItem(o => { Blah(); BlahBlah(); } }
那么在不使用Blah()进行模拟验证之前,如何等待BlahBlah()和Thread.CurrentThread.Join()完成?
Blah()
BlahBlah()
Thread.CurrentThread.Join()