单元测试入门学习(读 农码一生 博客)

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<Exception>(() => { arithmetic.Divide(4, 0); });//断言 验证异常
        }

        //MOQ待学习....
    }
}

 

posted @ 2017-05-18 12:05  小小高  阅读(209)  评论(0编辑  收藏  举报