针对 net452 的代码覆盖率 .net 核心 Web 应用程序
Code coverage .net core web application targeting net452
如何在 VS2017(或 VS2015)中获取针对 net452 的 .net 核心 Web 应用程序的代码覆盖率?
我使用 xUnit 设置了测试,但没有获得 .net 核心 Web 应用程序的覆盖率结果。测试 运行 很好,但我没有得到任何报道!
这是一个已知问题吗?
它也不适用于 MS 的测试库。
快速重现:
- 加载VS2017
- 创建新的 ASP.NET 核心 Web 应用程序 (.NET
框架)称为
WebApplication1
- 如下创建
TestClass.cs
- 创建名为
UnitTestProject1
的新单元测试项目 (.NET Framework)
- 在
UnitTestProject1
中添加对 WebApplication1
的引用
- 编辑
UnitTest1.cs
如下
- 运行
Test -> Analyze Code Coverage -> All Tests
- 打开
Test -> Windows -> Code Coverage Results
- 代码覆盖率只显示
unittestproject1.dll
TestClass.cs
namespace WebApplication1
{
public class TestClass
{
public bool TestMethod(bool test)
{
if (test) { return true; }
return false;
}
}
}
UnitTest1.cs
using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace UnitTestProject3
{
[TestClass]
public class UnitTest1
{
[TestMethod]
public void TestMethod1()
{
var testClass = new WebApplication1.TestClass();
var val = testClass.TestMethod(true);
Assert.IsTrue(val);
}
}
}
Code coverage is not implemented for netcore projects yet. This
support requires datacollectors infrastructure
(https://github.com/Microsoft/vstest/issues/309) . It will come post
RTW. We recommend that you follow the above issue for updates and fix
notifications.
如何在 VS2017(或 VS2015)中获取针对 net452 的 .net 核心 Web 应用程序的代码覆盖率?
我使用 xUnit 设置了测试,但没有获得 .net 核心 Web 应用程序的覆盖率结果。测试 运行 很好,但我没有得到任何报道!
这是一个已知问题吗?
它也不适用于 MS 的测试库。
快速重现:
- 加载VS2017
- 创建新的 ASP.NET 核心 Web 应用程序 (.NET
框架)称为
WebApplication1
- 如下创建
TestClass.cs
- 创建名为
UnitTestProject1
的新单元测试项目 (.NET Framework)
- 在
UnitTestProject1
中添加对 - 编辑
UnitTest1.cs
如下 - 运行
Test -> Analyze Code Coverage -> All Tests
- 打开
Test -> Windows -> Code Coverage Results
- 代码覆盖率只显示
unittestproject1.dll
WebApplication1
的引用
TestClass.cs
namespace WebApplication1
{
public class TestClass
{
public bool TestMethod(bool test)
{
if (test) { return true; }
return false;
}
}
}
UnitTest1.cs
using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace UnitTestProject3
{
[TestClass]
public class UnitTest1
{
[TestMethod]
public void TestMethod1()
{
var testClass = new WebApplication1.TestClass();
var val = testClass.TestMethod(true);
Assert.IsTrue(val);
}
}
}
Code coverage is not implemented for netcore projects yet. This support requires datacollectors infrastructure (https://github.com/Microsoft/vstest/issues/309) . It will come post RTW. We recommend that you follow the above issue for updates and fix notifications.