簡體   English   中英

為什么代碼覆蓋在 ReSharper 中不起作用?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM