单元测试入门学习(读 农码一生 博客)
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待学习.... } }

浙公网安备 33010602011771号