我有一个Azure Function应用程序,它在本地运行良好,在云中运行。当我将XUnit测试封装在它周围时,它就起作用了。然而,当我试图利用OpenCover运行单元测试来生成代码覆盖率报告时,我遇到了一个错误。
生成报告的批处理文件:
"%USERPROFILE%.nugetpackagesOpenCover4.7.1221toolsOpenCover.Console.exe" -register:user -target:"%USERPROFILE%.nugetpackagesxunit.runner.console2.4.1toolsnet472xunit.console.exe" -targetdir:"..S3.ReplicationSolution.UnitTestsbinDebugnetcoreapp3.1" -targetargs:"S3.ReplicationSolution.UnitTests.dll" -filter:"+[S3.ReplicationSolution*]* -[*S3.Replication.UnitTests*]*" -mergebyhash -output:.CodeCoverageResultsProjectCoverageReport.xml
来自批处理文件的命令行结果:
Executing: C:UsersDonSartain.nugetpackagesxunit.runner.console2.4.1toolsnet472xunit.console.exe
xUnit.net Console Runner v2.4.1 (64-bit Desktop .NET 4.7.2, runtime: 4.0.30319.42000)
System.IO.FileNotFoundException: Could not load file or assembly 'System.Runtime, Version=4.2.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.
我唯一能看到引用此依赖关系的地方是在解决方案中->依赖项->框架->Microsoft.NETCore.App位置。我甚至没有在项目文件中使用它。我试过手动包含它,但没有成功。我也尝试过在NuGet包中使用更高版本,但也没有解决问题。
我还能在这里试试什么?
这似乎是相关的:https://github.com/xunit/xunit/issues/1950
尝试dotnet test