如何修复 Visual Studio 的测试资源管理器中的“活动测试运行已中止”?

问题描述 投票:0回答:4

“测试资源管理器”中的“运行全部”不再完成(VS2017 Enterprise)。它因已通过 (411)、未运行 (309) 而停止。计数略有不同,通常大约各半。

输出窗口(Visual Studio | 输出选项卡 | 显示来自:测试的输出)包含以下错误消息:

“活动测试运行已中止。原因:未处理的异常:System.AppDomainUnloadedException:尝试访问已卸载的 AppDomain。”

测试在 ReSharper 中继续运行良好(720 次中的 720 次通过)。 R# 是我通常运行测试的地方。当我尝试分析代码覆盖率时,我会跳到 Microsoft 的“测试资源管理器”(尽管无论有没有代码覆盖率,测试都会停止)。它(分析代码覆盖率)最近在 2018 年 5 月 15 日起作用(在此之前至少有六到十几次)。

c# unit-testing visual-studio-2017
4个回答
11
投票

检查测试输出窗格以获取更多详细信息 - 打开输出窗口并从“显示输出”组合框中选择“测试”选项。

就我而言,我的测试项目针对的是我未安装的 .NET core 版本。我只需将项目目标框架更改为正确的版本即可解决问题。


5
投票

Microsoft 测试运行程序被一个单元测试类绊倒,该类碰巧具有如下所示的 Task.Run() 调用:

    var task = Task.Run(async () =>
    {
        <various code>
    });

这些测试缺少对task.Wait()的调用,以在退出测试之前等待每个任务完成。

(这似乎会使 Microsoft 测试运行程序出错,但不会使 ReSharper 测试运行程序出错。具体来说,Microsoft Test Runner 中止 sln 测试运行并跳过 300 多个测试。ReSharper 能够顺利运行所有测试。)

旁白:Windows 7 与 Windows 10 上行为不同的原因是因为测试类是针对 Windows 10 敏感的第 3 方控件/库。


2
投票

很简单 构建 -> 清晰的解决方案 帮帮我吧。


0
投票

设置输出窗口下拉测试后检查输出窗口。

我的问题是其中一个测试正在进行无限循环。

© www.soinside.com 2019 - 2024. All rights reserved.