NETCORE - 单元测试

NETCORE - 单元测试

一. 创建类库

创建两个类文件 

类1:CBook

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ClassLibrary1
{
    public class CBook
    {
        public class Book
        {
            public int id { get; set; }
            public string title { get; set; }
            public string description { get; set; }
            public string content { get; set; }

        }

        public dynamic GetAllBook()
        {
            List<Book> books = new List<Book>();

            for (int i = 0; i < 10; i++)
            {
                var ind = i + 1;

                books.Add(new Book()
                {
                    id = ind,
                    title = "title" + ind,
                    content = "content" + ind,
                    description = "description" + ind,
                });
            }
            return books;
        }
    }
}

 

 

类2 :CLibrary

namespace ClassLibrary1
{
    public class CLibrary
    {
        public List<string> GetTemp(int con, string pre)
        {
            List<string> temp = new List<string>();

            for (int i = 0; i < con; i++)
            {
                temp.Add(pre + i);
            }
            return temp;
        }

        public List<string> GetNode(int con)
        {
            List<string> strings = new List<string>();
            for (int i = 0; i < con; i++)
            {
                strings.Add("node" + i);
            }
            return strings;
        }
    }
}

 

 

二. 使用 xunit 测试

在该解决方案中增加 xunit 测试项目

 

创建测试类文件:UnitTestBook.cs

using ClassLibrary1;

namespace TestProject1Xunit.Texts
{
    public class UnitTestBook
    {
        [Fact]
        public void TestBook()
        {
            var book =new CBook();

            var res = book.GetAllBook();

            //Assert.Equal(8, res);
        }
    }
}

 

 

创建测试类文件 :UnitTestLibrary.cs

using ClassLibrary1;

namespace TestProject1Xunit.Texts
{
    public class UnitTestLibrary
    {
        [Fact]
        public void TestTemp()
        {
            var clib = new CLibrary();

            var res = clib.GetTemp(10, "ssss");

            //Assert.Equal(8, res);
        }


        [Fact]
        public void TestNode()
        {
            var clib = new CLibrary();

            var res = clib.GetTemp(10, "ssss");

            //Assert.Equal(8, res);
        }
    }
}

 

 

在工具菜单中 ,打开 测试 -> 测试资源管理器

 可右键 运行 或 调试 类方法 。

 


三. 使用 nunit 测试

在该解决方案中增加 nunit 测试项目

创建测试类文件 :UnitBook.cs

using ClassLibrary1;

namespace TestProject1Nunit
{
    public class UnitBook
    {
        [SetUp]
        public void Setup()
        {
        }

        [Test]
        public void TestBook()
        {
            var book = new CBook();

            var res = book.GetAllBook();
        }
    }
}

 

 创建测试类项目:UnitLibrary.cs

using ClassLibrary1;

namespace TestProject1Nunit
{
    public class UnitLibrary
    {
        [SetUp]
        public void Setup()
        {
        }

        [Test]
        public void TestTemp()
        {
            var clib = new CLibrary();

            var res = clib.GetTemp(10, "ssss");

            //Assert.Equal(8, res);
        }

        [Test]
        public void TestNode()
        {
            var clib = new CLibrary();

            var res = clib.GetNode(10);

            //Assert.Equal(8, res);
        }
    }
}

 

测试方法 与上面的一样。

 

四. 使用 MsTest 测试

在该解决方案中增加 MsTest 测试项目

 

创建测试文件 :TestProjectMstest.cs

using ClassLibrary1;

namespace TestProjectMstest
{
    [TestClass]
    public class UnitMsBook
    {
        [TestMethod]
        public void TestBook()
        {
            var book = new CBook();

            var res = book.GetAllBook();

            //Assert.Equal(8, res);
        }
    }
}

 

 

创建测试文件 UnitMslibrary.cs

using ClassLibrary1;

namespace TestProjectMstest
{
    [TestClass]
    public class UnitMslibrary
    {
        [TestMethod]
        public void TestTemp()
        {
            var clib = new CLibrary();

            var res = clib.GetTemp(10, "ssss");

            //Assert.Equal(8, res);
        }


        [TestMethod]
        public void TestNode()
        {
            var clib = new CLibrary();

            var res = clib.GetNode(10);

            //Assert.Equal(8, res);
        }
    }
}

 

测试方式与上面一样

 

 

 

 

 

 

 

 

end.

 

posted @ 2025-03-10 09:25  无心々菜  阅读(23)  评论(0)    收藏  举报