![](/img/trans.png)
[英]ReSharper dotcover showing 0% coverage despite tests running through code
[英]Why is code coverage not working in ReSharper?
我已經在 Visual Studio 2019 中安裝了 JetBrains 的 DotCover 和 ReSharper。
不幸的是,DotCover 代碼覆蓋率似乎不起作用。 我有這個樣本 class: using System;
namespace ClassLibrary1
{
public class Class1
{
public int X { get; set; }
public int Y { get; set; }
public int Division()
{
return X / Y;
}
}
}
而這個樣本單元測試:
using ClassLibrary1;
using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace UnitTestProject1
{
[TestClass]
public class UnitTest1
{
[TestMethod]
public void TestMethod1()
{
var c = new Class1 {X = 10, Y = 2};
var d = c.Division();
Assert.AreEqual(d, 5);
}
}
}
然后在ReSharper的“Unit Test Sessions”window,我的select“Cover Unit Tests”中如下圖:
此操作運行我的測試,當我轉到 ReSharper 的“單元測試覆蓋率”window 時,我看到所有覆蓋率百分比為 0%,並顯示一條警告消息,指出“某些測試的覆蓋率信息不存在或已過時”,如下所示:
此外,在 Visual Studio 代碼編輯器 window 中,我的 class 中的所有語句都標記為“未覆蓋的語句”,如下所示:
因此,由於某種原因 dotCover 似乎無法正常工作。 我嘗試刪除覆蓋數據並再次運行測試,但結果是一樣的。
我錯過了什么?
我剛剛遇到了類似的事情。 就我而言,我剛剛為我的單元測試添加了一個使用 MSTest 而不是 MSTestV2 的測試,並且代碼覆蓋率停止工作。 我通過添加以下 nuget 包切換到 MSTestV2:
MSTest.TestAdapter (v2.1.2)
和
MSTest.TestFramework (v2.1.2)
並刪除對 Microsoft.VisualStudio.QualityTools.UnitTestFramework 的項目引用。
希望這可以幫助某人!
此外,如果這有所作為,我正在使用 Visual Studio 2017 Professional 15.9.26 和 dotCover 2020.2。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.