繁体   English   中英

Visual Studio 2019 UnitTest 未运行

[英]Visual Studio 2019 UnitTest not running

我正在使用 Microsoft Visual Studio Community 2019 版本 16.11.8

我创建了一个 C# Windows Forms-App (.NET Framework),现在尝试为它添加一个 UnitTest。 一开始,我尝试了互联网教程中的第一步:

  • 添加新的 MSTest 项目
  • 它会自动创建第一个测试类,我添加了一个 Assert.IsTrue(true) 到它:
    using Microsoft.VisualStudio.TestTools.UnitTesting;
    
    namespace MyFirstUnitTest
    {
        [TestClass]
        public class UnitTest1
        {
            [TestMethod]
            public void TestMethod1()
            {
                Assert.IsTrue(true);
            }
        }
    }

如果我现在在 Test-Explorer 中运行测试,测试将保持在“未测试”state 中。 如果我查看测试的 Output window,我会看到以下异常:

     ========== Testermittlung wird gestartet ==========
     ========== Testermittlung abgeschlossen: 1 Tests in "2,6 Sek." gefunden ==========
     ========== Testlauf wird gestartet ==========
     Ausnahme beim Aufrufen von Executor "executor://mstestadapter/v2": Could not find file 'C:\Users\xxxxx\Documents\Projects\MyFirstUnitTest\TestResults\Deploy_xxxxxxx 2022-08-04 21_06_19'.
     Stapelüberwachung:
        at System.IO.FileSystem.CreateDirectory(String fullPath, Byte[] securityDescriptor)
        at System.IO.Directory.CreateDirectory(String path)
        at Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.Utilities.FileUtility.CreateDirectoryIfNotExists(String directory)
        at Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.Utilities.DeploymentUtilityBase.CreateDeploymentDirectories(IRunContext runContext)
        at Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.TestDeployment.Deploy(IEnumerable`1 tests, IRunContext runContext, IFrameworkHandle frameworkHandle)
        at Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.Execution.TestExecutionManager.RunTests(IEnumerable`1 tests, IRunContext runContext, IFrameworkHandle frameworkHandle, TestRunCancellationToken runCancellationToken)
        at Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.MSTestExecutor.RunTests(IEnumerable`1 tests, IRunContext runContext, IFrameworkHandle frameworkHandle)
        at Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Execution.RunTestsWithTests.InvokeExecutor(LazyExtension`2 executor, Tuple`2 executorUri, RunContext runContext, IFrameworkHandle frameworkHandle)
        at Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Execution.BaseRunTests.RunTestInternalWithExecutors(IEnumerable`1 executorUriExtensionMap, Int64 totalTests)

我该怎么做才能让 UnitTest 运行? 它寻找的文件夹确实不存在。 谁应该正常创建文件夹“TestResults”?

侧面信息:

  • 我尝试以管理员权限运行 Visual Studio
  • 我关闭了防火墙
  • 我尝试使用目标平台 .NET 核心 3.1 和 .NET 5.0 创建测试项目
  • 我多次重新启动 Visual Studio 所有这些都没有改变任何东西,我总是收到上面的错误消息。

测试项目正在使用以下 NuGet 包:

  • Coverlet.collector V3.1.2
  • Microsoft.NET-TestSdk V17.2.0
  • MSTest.TestAdapter V2.2.10
  • MSTest.TestFramework V 2.2.10

我发现了问题:windows 的勒索软件保护禁止为 MSTest 写入新文件。 我将它设置为允许列表,现在它可以工作了:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM