问题描述
为了测试目的,需要模拟断开连接和超时。进程执行保持模拟所有子组件的通信超时。当前,这可以通过在调试模式下运行并设置断点来完成。在断点时,所有线程都将保持执行状态,并且所有超时都将发生。 但是在自动化测试中,不能选择断点。
如何将整个过程(包括所有正在运行的线程)保留x秒?
编辑#1:我正在寻找一种通用方法来保持包括所有正在运行的任务(线程)在内的整个过程的执行-真正的断点行为而没有断点。而不是一种自动的恢复流程的方法。
编辑#2:This问题的答案可能有用。似乎需要进行一些调整。
解决方法
出于调试目的,在Visual Studio中,您可以使用“调试”>“ Windows”>“线程”窗口轻松地执行此操作。 您可以在那里随意冻结和融化胎面。
编辑:对于在单元测试中执行此操作,您需要构建自己的冻结机制,假设每个线程都有一个运行循环,您可以在其中检查某些全局冻结状态以暂停执行。