2012-11-01 29 views
1

我的问题是 - 我有一个类具有System.Threading.Thread依赖性,并且它将Start()线程一旦满足某个条件。我有一个问题嘲笑System.Threading.Thread在.NET中嘲笑System.Threading.Thread

我一般使用Moq模拟对象,但我不能模拟Thread(因为它是密封的)。

我知道我可以编写一些包含Thread的包装器,然后模拟这个包装器 - 但如果可能的话,我想避免这种情况。

在此先感谢您的任何想法!

+1

请考虑使用“任务”。 – SLaks

回答

3

有几个问题已经发布,试图用一个很好的答案来掩盖这个问题,就像这个here。对于TLDR;问题空间实际上就是你的代码是异步的,并试图使它适应一个同步的模拟框架和单元测试。长话短说,没有一个好的解决方案,但如果你遵循链接,我相信有一些阴暗的解决方法。祝你好运

+0

我真的只是试图模拟实际的Thread对象 - 而不是最终被调用的异步逻辑。问题的真正症结在于我想嘲弄'Thread'来调用myTrhead.Start()' – MattW