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.

浙公网安备 33010602011771号