我在运行单元测试时遇到了一个错误。如果我调试了单元测试vstest.ExecutionEngin.x86.exe,那么当测试通过时关闭。
如果我只是运行测试(即使测试就像创建一个新列表一样简单,没有断言),vstest.ExecutionEngin.x86.exe就不会关闭并在任务管理器中运行。
当涉及到编写更复杂的测试(包括删除文件/清理sqllite数据库)时,这给我带来了一个问题。
任何帮助都将不胜感激。
编辑:
复制步骤:
发布于 2012-12-05 05:16:10
这是故意的。
只有在检测到两个连续测试运行之间的配置更改时,vstest.executionengine.exe才会重新启动。这有助于确保我们不会在进程重新启动时受到不必要的影响。
产品更新与VS2013我们有一个新的菜单项下的测试->测试设置,称为“保持测试执行引擎运行”。您可以取消选中,以选择退出默认行为。
发布于 2013-02-03 21:12:47
为此,我将以下内容用作受影响测试项目的预构建事件:
64位:
taskkill /F /IM vstest.executionengine.exe /FI "MEMUSAGE gt 1"或者32位:
taskkill /F /IM vstest.executionengine.x86.exe /FI "MEMUSAGE gt 1"在构建测试项目之前,这会悄悄地杀死执行引擎。如果执行引擎没有运行,/FI "MEMUSAGE gt 1"将停止命令(因此也会阻止构建)失败。
发布于 2015-05-02 22:20:15
不管它的价值如何,我遇到了同样的情况,结果发现我有一个测试,它没有正确地清理它的所有资源。在我的具体案例中,有一个后台线程打开了网络连接,在测试退出之前没有被关闭。不知道为什么退出测试没有为我关闭这一点,但当我修复我的代码以正确地处理我打开的所有资源时,一切都如期而至。我不需要添加任何黑客来杀死vstest.executionengine.exe,也不必选择退出Test -> Test Settings -> Keep Test Execution Engine Running。
https://stackoverflow.com/questions/13497168
复制相似问题