Xunit入門


    本節記錄Xunit單元測試的入門知識,以2.1版本作為入門示例。

1、新建一個類庫項目

2、在Nuget中搜索xunit,這里我們只選xUnit.net和xunit.runner.visualstudio包。

     其中xUnit是框架,而xunit.runner.visualstudio是vs插件包,讓我們可以方便的在vs中調試。安裝xunit.runner.console也可以在CMD下調試,但是如果只支持這個,相信也沒多少人會用這個框架,畢竟敲命令的方式嚴重拉低了Visual Studio的檔次,所以這里也不做講解。

    裝好xunit.runner.visualstudio之后,打開 測試--》窗口--》測試資源管理器就可以在左側窗口隨時運行測試了。

  先貼出官網的演示代碼

 

public class Test1
    {
        [Fact]
        public void PassingTest()
        {
            Assert.Equal(4, Add(2, 2));
        }

        [Fact]
        public void FailingTest()
        {
            Assert.Equal(5, Add(2, 2));
        }

        [Theory]
        [InlineData(1,2)]
        public void TheoryPassingTest(int a, int b)
        {
            Assert.Equal(3, Add(a, b));
        }
        [Theory]
        [InlineData(3, 4)]
        public void TheoryPassingTest2(int a, int b)
        {
            Assert.Equal(3, Add(a, b));
        }

        int Add(int x, int y)
        {
            return x + y;
        }


        [Theory]
        [InlineData(3)]
        [InlineData(5)]
        [InlineData(6)]
        public void MyFirstTheory(int value)
        {
            Assert.True(IsOdd(value));
        }

        bool IsOdd(int value)
        {
            return value % 2 == 1;
        }


    }

 

xUnit支持[Fact]和[Theory]兩種屬性。從代碼中也可以看出來,[Fact]就類似於我們寫的實際調用代碼,而[Theory]配合InlineData可以直接在一個方法中測試多組參數。

[Fact]和[Theory]還可以帶兩個參數,一個是修改顯示名稱,一個是跳過測試

 

        [Fact(DisplayName ="通過測試")]
        public void PassingTest()
        {
            Assert.Equal(4, Add(2, 2));
        }

        [Fact(Skip ="跳過測試")]
        public void FailingTest()
        {
            Assert.Equal(5, Add(2, 2));
        }

 

 

 

當我們有新增的測試方法時,編譯項目后自動顯示在測試資源管理器中。其他簡單的功能從字面上就可以看出來,就不多做解釋了。

 

    


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM