自学内容网 自学内容网

C# 简单的单元测试

前言

听说复杂的项目最好都要单元测试一下。我这里也试试单元测试这个功能。到时候调试起来也方便。

参考文档

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个特例就可以了。


原文地址:https://blog.csdn.net/qq_44695769/article/details/140665817

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!