文章目录
前言
听说复杂的项目最好都要单元测试一下。我这里也试试单元测试这个功能。到时候调试起来也方便。
参考文档
C# 单元测试(入门):https://www.cnblogs.com/anayigeren/p/10020811.html
新建控制台项目
namespaceConsoleApp1{//这里用public,因为测试项目要引用这个方法publicclassProgram{staticvoidMain(string[] args){
Console.WriteLine("Hello, World!");
Console.ReadLine();}/// <summary>/// 测试方法/// </summary>/// <param name="x"></param>/// <param name="y"></param>/// <returns></returns>publicstaticintAddNum(int x,int y){return Math.Abs(x + y);}}}
新建测试项目
添加引用
添加测试方法
DataRow就是入参
namespaceTestProject1{[TestClass]publicclassUnitTest1{[TestMethod][DataRow(1,2)][DataRow(3,10)][DataRow(-3,5)]//这个就是专门用来报错的[DataRow(1,-8)]publicvoidTestMethod1(int x,int y){var targetNum = x + y;var result = ConsoleApp1.Program.AddNum(x, y);
Assert.AreEqual(targetNum, result);}}}
测试结果(有错误)
测试结果,通过
正规的方法
namespaceTestProject1{[TestClass]publicclassUnitTest1{/// <summary>/// 测试方法/// </summary>/// <param name="x"></param>/// <param name="y"></param>/// <param name="target">按理来说最后一个值是测试的数据</param>[TestMethod][DataRow(1,2,3)][DataRow(3,10,13)][DataRow(-3,5,2)][DataRow(1,-8,7)]publicvoidTestMethod1(int x,int y,int target){var result = ConsoleApp1.Program.AddNum(x, y);
Assert.AreEqual(target, result);}}}
抛出异常
namespaceConsoleApp1{publicclassProgram{staticvoidMain(string[] args){
Console.WriteLine("Hello, World!");
Console.ReadLine();}/// <summary>/// 测试方法/// </summary>/// <param name="x"></param>/// <param name="y"></param>/// <returns></returns>publicstaticintAddNum(int x,int y){//x<2就抛出异常if(x <2){thrownewException("抛出异常");}return Math.Abs(x + y);}}}
异常也能看到
总结
简单的测试用例还是要用一下的,毕竟总比整个项目运行之后出现问题要好。测试用例也不用多,找3-5个特例就可以了。
版权归原作者 龙中舞王 所有, 如有侵权,请联系我们删除。