标签: c# multithreading tdd
我正在编写一个应用程序,它将一些命令发送到串行端口并从中接收一些响应。在某些时候,某些命令被发送到端口调用线程将被锁定,直到收到一些响应。所以我试着为它写一个失败的测试。
问题是测试不能在任何时候完成以便通过!!!!!
那么解决方案是什么?
编辑: 我可以在我的测试中创建另一个线程,等待例如两秒后检查线程是否完成,但它违反了简单法则并及时进行测试。
答案 0 :(得分:1)
尝试锁定你认为不合理的一段时间,然后停止尝试获取锁定并使其失败?
使用Monitor.TryEnter