文章目录
- 前言
- 参考文档
- 新建控制台项目
- 新建测试项目
- 添加引用
- 添加测试方法
- 测试结果(有错误)
- 测试结果,通过
- 正规的方法
- 抛出异常
- 总结
前言
听说复杂的项目最好都要单元测试一下。我这里也试试单元测试这个功能。到时候调试起来也方便。
参考文档
C# 单元测试(入门):https://www.cnblogs.com/anayigeren/p/10020811.html
新建控制台项目
namespace ConsoleApp1
{
//这里用public,因为测试项目要引用这个方法
public class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello, World!");
Console.ReadLine();
}
/// <summary>
/// 测试方法
/// </summary>
/// <param name="x"></param>
/// <param name="y"></param>
/// <returns></returns>
public static int AddNum(int x, int y)
{
return Math.Abs(x + y);
}
}
}
新建测试项目
添加引用
添加测试方法
DataRow就是入参
namespace TestProject1
{
[TestClass]
public class UnitTest1
{
[TestMethod]
[DataRow(1, 2)]
[DataRow(3, 10)]
[DataRow(-3, 5)]
//这个就是专门用来报错的
[DataRow(1, -8)]
public void TestMethod1(int x, int y)
{
var targetNum = x + y;
var result = ConsoleApp1.Program.AddNum(x, y);
Assert.AreEqual(targetNum, result);
}
}
}
测试结果(有错误)
测试结果,通过
正规的方法
namespace TestProject1
{
[TestClass]
public class UnitTest1
{
/// <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)]
public void TestMethod1(int x, int y, int target)
{
var result = ConsoleApp1.Program.AddNum(x, y);
Assert.AreEqual(target, result);
}
}
}
抛出异常
namespace ConsoleApp1
{
public class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello, World!");
Console.ReadLine();
}
/// <summary>
/// 测试方法
/// </summary>
/// <param name="x"></param>
/// <param name="y"></param>
/// <returns></returns>
public static int AddNum(int x, int y)
{
//x<2就抛出异常
if(x < 2)
{
throw new Exception("抛出异常");
}
return Math.Abs(x + y);
}
}
}
异常也能看到
总结
简单的测试用例还是要用一下的,毕竟总比整个项目运行之后出现问题要好。测试用例也不用多,找3-5个特例就可以了。