1. 程式人生 > 其它 >NetCore XUnit單元測試專案

NetCore XUnit單元測試專案

NetCore內部集成了XUnit,可以直接建立XUnitProject

不用像NetFrameWork,通過Nuget引用Xunit包

具體操作如下:

1.右鍵 =》 新增 =》 新建專案 =》 搜尋“Xunit”

2.生成一個控制檯程式,名字預設為:XUnitTestProject1

3.方法體右鍵可執行和除錯,如果沒有“執行測試”或“除錯測試”,可以點選頂部的:除錯 =》 測試資源管理器

4.單元測試需要列印日誌需要注入:ITestOutputHelper

        private readonly ITestOutputHelper _testOutputHelper;
        
public UnitTest1(ITestOutputHelper testOutputHelper) { _testOutputHelper = testOutputHelper; } [Fact] public void Test1() { Console.WriteLine("aaa"); Console.WriteLine("aaa"); Console.WriteLine("aaa"); _testOutputHelper.WriteLine(
"aaa1"); _testOutputHelper.WriteLine("aaa2"); _testOutputHelper.WriteLine("aaa3"); }

5.單元測試需要動態傳參

        [Theory]
        [InlineData("123")]
        [InlineData("456")]
        [InlineData("789")]
        public void TestParams(string param)
        {
            _testOutputHelper.WriteLine(param);
        }

6.單元測試判斷執行結果是否等於預期結果,不等於則會報錯

        [Theory]
        [InlineData("123")]
        public void Com(string str)
        {
            //Assert.True(true);
            //Assert.True(false);
            //Assert.False(true);
            //Assert.False(false);
            //  判斷輸出值和期待值是否相等
            Assert.Equal("123", str);
            //判斷結果中是否是以指定字串為開頭
            Assert.StartsWith("1",str);
            //判斷結果中是否是以指定字串為結尾
            Assert.EndsWith("3", str);
            // 判斷結果中是否包含指定字串
            Assert.Contains("1", str);
        }