我有一个使用mstest的单元测试套件,可以在Visual Studio中正常运行,但是当我的部署脚本尝试使用命令行调用mstest来运行测试时,它将在测试中卡住一半时间。在测试中这可能是一个问题,但是由于无法在调试器中重现该问题,因此无法找到问题。

到目前为止,我无法附加mstest进程来调试问题,因为附加和暂停时,我在Visual Studio中看不到任何内容(没有列出线程,没有已知代码)。它如何使用appdomains阻止容易地附加到它上是否有些奇怪?还有其他尝试和解决问题的好方法,甚至可以从测试内部执行等效于Console WriteLine的操作,以便mstest将其显示在正在运行的控制台窗口中吗?

最佳答案

两种选择。

  • 在IDE中,取消选中“测试”->“测试设置”->“保持测试执行引擎运行”。

  • 或者
  • 要使用命令行:

  • 使用/noisolation开关运行mstest。它将直接执行测试,而不是生成帮助程序。

    混合:自动将VS调试器附加到命令行mstest.exe:

    我使用以下配置测试项目的“调试”选项卡:

    启动外部程序:C:\Program Files(x86)\Microsoft Visual Studio 14.0\Common7\IDE\MSTest.exe

    命令行参数:/noisolation/testcontainer:MyProjectName.dll

    关于c# - 如何将调试器附加到命令行mstest,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24146210/

    10-14 08:02