问题描述
我在运行单元测试时遇到错误.如果我调试单元测试 vstest.executionengine.x86.exe 运行,然后在测试通过时关闭.
I've encountered an error when running unit tests. If I Debug the unit tests vstest.executionengine.x86.exe runs, then closes when the tests pass.
如果我只是运行测试(即使测试就像创建一个新列表一样简单,没有断言)vstest.executionengine.x86.exe 不会关闭并在任务管理器中保持运行.
If I just run the tests (Even if the test is as simple as just creating a new list, with no asserts) vstest.executionengine.x86.exe doesn't close and stays running in task manager.
在编写更复杂的测试(包括删除文件/清理 sqllite 数据库)时,这给我带来了问题.
This is causing an issue for me when it comes to writing more complicated tests that include removing files / cleaning up sqllite databases.
任何帮助将不胜感激.
重现步骤:
- 创建新的单元测试项目
- 调试单元测试 - vstest.executionengine.x86 打开和关闭,测试通过.
- 运行单元测试 - vstest.executionengine.x86 打开并保持打开状态
推荐答案
这是设计使然.
仅当我们检测到两次连续测试运行之间的配置发生更改时,才会重新启动 vstest.executionengine.exe.这有助于确保我们不会对不必要的进程重启造成性能影响.
The vstest.executionengine.exe is restarted only when we detect a change in the configuration between two consecutive test runs. This helps ensure we aren't taking a perf hit on process restarts unnecessarily.
产品更新在 VS2013 中,我们在 Test -> Test Settings 下有一个新菜单项,名为Keep Test Execution Engine Running".您可以取消选中此项以退出默认行为.
Product UpdateWith VS2013 we have a new menu item under Test -> Test Settings called "Keep Test Execution Engine Running". You can uncheck this to opt out of the default behavior.
这篇关于vstest.executionengine.x86.exe 未关闭的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!