模拟System.Threading.Thread在.NET中

时间:2012-11-01 12:51:33

标签: c# unit-testing mocking

我的问题是 - 我有一个具有System.Threading.Thread依赖性的类,只要满足某个条件,它就会Start()。我有一个问题嘲弄System.Threading.Thread

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

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

提前感谢任何想法!

1 个答案:

答案 0 :(得分:3)

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