C#单元测试小例子

2021-02-16 02:20

阅读:546

步骤简略,特别处进行说明。

以VS2015为例。

1、创建一个解决方案方案,如添加一个ConsoleApplication1的解决方案。

2、在解决方案的默认项目中,添加一个Calc类

3、将Calc设置成public,然后添加一个静态方法。

    public class Calc
    {
        public static int ADD(int a, int b)
        {
            return a + b;
        }
    }

4、在ADD的方法上,点右键【创建单元测试】,在弹出的对话框中,选择【测试项目名】和【输出文件】,其他内容选默认即可。自动创建一个方法。

5、补全方法并用断言结尾即可。

namespace ConsoleApplication1.Tests
{
    [TestClass()]
    public class CalcTests
    {
        [TestMethod()]
        public void ADDTest()
        {
            int a = 10, b = 15;
            int c = Calc.ADD(a, b);
            Assert.AreEqual(25, c);
        }
    }
}

6、这时,对于我们要测试的方法上方,就有VS自动添加的测试用例运行状况的提要了。

技术分享图片

7、以后修改了这个方法,点击运行测试用例即可。

 

 断言包括以下几种,第一个参数是你的期望值(Except),第二个参数是函数返回或影响程序产生的实际值(Actual)

 

① Assert.AreEqual
  主要是验证函数产生的影响值或返回的值跟预期是否一致,这个方法不适合验证返回的数据集以及集合之类的数据,主要针对字符串,数字等等的单一类型,它还有个泛型重载,这个是比较好的,建议多使用,它还有第三个参数,是一个string型的message,基本上不会用到!
  例子:Assert.AreEqual("a", "a", "cheng xu yuan");
② Assert.AreNotEqual

  没什么要讲的,情况跟上面相反,主要是验证实际值跟期望值不相等的情况!

③ Assert.AreSame

  判断实际值跟预期值的类型是否一致!

④ Assert.AreNotSame

  跟上面正好相反,测试类型不一致!

⑤ Assert.IsNotNull,Assert.IsNull,Assert.IsTrue,Assert.IsFalse

  看这些方法名就知道什么意思了!

⑥ Assert.IsInstanceOfType,Assert.IsNotInstanceOfType

  判断指定的对象是否是指定的类型!

⑦ Assert.Fail

  迫使断言失败,不管前面的断言是否都成功了,但测试结果是错误的,因为我强制断言失败了!


评论


亲,登录后才可以留言!