博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
单元测试入门学习(读 农码一生 博客)
阅读量:6702 次
发布时间:2019-06-25

本文共 1908 字,大约阅读时间需要 6 分钟。

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace TestDemo{    public class Arithmetic    {        public int Add(int nb1, int nb2)        {            return nb1 + nb2;        }        public int Divide(int nb1, int nb2)        {            if (nb2 == 0)            {                throw new Exception("除数不能为零");            }            return nb1 / nb2;        }    }}

 测试类:

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using Xunit;namespace TestDemo.Tests{    public class Arithmetic_Tests    {        //依赖:        // XUnit 2.2.0 单元测试框架        // xunit.runner.visualstudio 2.2.0 测试运行工具        // Moq 4.7.10 模拟框架        //[Fact]//需要在测试方法加上特性Fact 和 Theory不能一起用        [Fact]//需要在测试方法加上特性Fact        public void Add_Ok()        {            Arithmetic arithmetic = new Arithmetic();            var sum = arithmetic.Add(1, 2);            Assert.True(sum == 3);//断言验证        }        [Theory]        [InlineData(2, 3, 5)]        [InlineData(2, 4, 6)]        [InlineData(2, 1, 4)] //对应测试方法的形参        public void Add_Ok(int nb1, int nb2, int result)        {            Arithmetic arithmetic = new Arithmetic();            var sum = arithmetic.Add(nb1, nb2);            Assert.True(sum == result);//断言验证        }        //[Theory]        //[InlineData(2, 3, 0)]        //[InlineData(2, 4, 0)]        //[InlineData(2, 1, 0)]        //public void Add_No(int nb1, int nb2, int result)        //{        //    Arithmetic arithmetic = new Arithmetic();        //    var sum = arithmetic.Add(nb1, nb2);        //    Assert.False(sum == result);        //}        [Fact]        public void Divide_Err()        {            Arithmetic arithmetic = new Arithmetic();            Assert.Throws
(() => { arithmetic.Divide(4, 0); });//断言 验证异常 } //MOQ待学习.... }}

 

转载地址:http://oagoo.baihongyu.com/

你可能感兴趣的文章
test
查看>>
持续集成与持续部署宝典Part 2:创建持续集成流水线
查看>>
javascript高级程序设计学习之数值转换 |Number(),parseInt(),parseFloat()
查看>>
Angular属性型指令
查看>>
如何处理错误信息 Pricing procedure could not be determined
查看>>
【CentOS 7笔记11】,目录权限,所有者与所有组,隐藏权限#171022
查看>>
Mybatis 详解--- 一级缓存、二级缓存
查看>>
2013 ACM/ICPC Asia Regional Changsha Online - C
查看>>
ACM中java快速入门
查看>>
discuz x2.5插件开发傻瓜图文教程,用demo说话
查看>>
利用HTML中的XML数据岛记录浏览
查看>>
unicode字符、python乱码问题
查看>>
cobbler get-loaders 通过代理下载
查看>>
通过脚本测试ubuntu的源
查看>>
一些不错的网站
查看>>
safari的一些问题
查看>>
面试官问我:平常如何对你的 Java 程序进行调优?
查看>>
Java中对象和引用的理解
查看>>
如何有效抓取SQL Server的BLOCKING信息
查看>>
bash中(),{},(()),[],[[]]的区别
查看>>