Execute Specific Test Case on MSTest


紀錄一下ASP.NET Core如何透過MSTest如何執行特定Test Case

我們簡單的做一個計算機並提供兩個計算功能,因為呼叫方便用了Lazy實作Singleton Pattern

using System;

namespace App
{
    public class Calculator
    {

        private static readonly Lazy<Calculator> lazy = new Lazy<Calculator>(() => new Calculator());

        public static Calculator Instance { get { return lazy.Value; } }

        private Calculator()
        {

        }
        
        public int Add(int value1,int value2){
            return value1+value2;
        }

        public int AddWithAutoPlus3(int value1,int value2){
            return value1+value2+3;
        }
    }
}

這邊簡單的寫一個測試如下:

using Microsoft.VisualStudio.TestTools.UnitTesting;

namespace App.MSTest
{
    [TestClass]
   public class UnitTest1
    {
        [TestMethod]
        public void Test_Calculator_Add()
        {
            var value1 = 1; 
            var value2 = 2;

            var expected = 3;
            int actual;

            actual = Calculator.Instance.Add(value1,value2);
            Assert.AreEqual(expected,actual);
            Assert.Inconclusive("Test Passed with Basic Values");
        }

        [TestMethod]
        public void Test_Calculator_AddWithAutoPlus3()
        {
            var value1 = 1; 
            var value2 = 2;

            var expected = 6;
            int actual;

            actual = Calculator.Instance.AddWithAutoPlus3(value1,value2);
            Assert.AreEqual(expected,actual);
            Assert.Inconclusive("Test Passed with Basic Values");
        }
    }
}

當我們撰寫好後就可以執行指令觀看測試結果

dotnet test

dotnet_test

我們可以透過預設的–help查出目前的所有支援的參數有哪些

dotnet test --help

dotnet_test_help

我們可以用 –list 的參數來列出目前所有測試案例

dotnet test --list 

而當我們只要執行特定單一測試案例時,我們可以透過 –filter 的參數加上我們指定的查詢pattern(FullyQualifiedName=App.MSTest.UnitTest1.Test_Calculator_Add”
Namespace.Class.Method):

dotnet test --filter "FullyQualifiedName=App.MSTest.UnitTest1.Test_Calculator_Add"

dotnet_test_filter

References


作者: Blackie
版權聲明: 本站所有文章除特別聲明外,均採用 CC BY 4.0 許可協議。轉載請註明來源 Blackie !
  目錄