zoukankan      html  css  js  c++  java
  • 单元测试入门学习(读 农码一生 博客)

    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待学习....
        }
    }
  • 相关阅读:
    安装WebStorm
    Could not obtain transaction-synchronized Session
    Hibernate4 No Session found for current thread原因
    Spring3系列7- 自动扫描组件或Bean
    论坛角色
    firefox浏览器无法显示bootstrap图标问题总结
    express文件上传中间件Multer最新使用说明
    判断圆和矩形是否相交C
    转化为用欧几里得算法判断互质的问题D
    (记录前面算过的后面仍然会用的数减小复杂度)A
  • 原文地址:https://www.cnblogs.com/gaocong/p/6872666.html
Copyright © 2011-2022 走看看