C#刘铁锰单元测试(.net Framework框架)

本文介绍了如何使用xUnit、NUnit和Moq对C#代码进行单元测试。通过一个电扇与电源交互的示例,展示了如何构造测试场景,包括紧耦合到接口松耦合的转换,以及利用Mock对象避免创建实体类。文章详细阐述了每个测试框架的用法,并给出了具体的测试用例和测试结果。

链接:C#刘铁锰P28单元测试

电风扇案例:兄弟们使用的是.net Framework框架哦,.net core其实一样的

using System;

namespace Interface4UnitTesting
{
    /// <summary>
    /// 单元测试:生产电扇,电扇里面有个电源,转速高电源的电流就大,还有电流保护
    /// 依赖关系:电扇依赖在电流上
    /// 先紧耦合,再用接口松开,再单元测试
    /// </summary>
    class Program
    {
        static void Main(string[] args)
        {
            var fan = new DeskFan(new PowerSupply());
            Console.WriteLine(fan.Work());

            Console.ReadLine();
        }
    }
    public interface IPowerSupply
    {
        int GetPower();//将下面所有耦合的改为接口类型
    }
    public class PowerSupply :IPowerSupply//电源输出类
    {
        public int GetPower()
        {
            return 100;
        }
    }
    public class DeskFan//电扇类
    {
        private IPowerSupply _powerSupply;//紧耦合
        public DeskFan(IPowerSupply powerSupply)//构造器,传入一个电源
        {
            _powerSupply = powerSupply;
        }
        public string Work()
        {
            int power = _powerSupply.GetPower();
            if (power <= 0)
            {
                return "Won't work.";
            }
            else if (power<100)
            {
                return "slow";
            }
            else if (power<200)
            {
                return "Work fine.";
            }
            else
            {
                return "Warning!";
            }
           
        }
    }
}

此时需要对上述代码进行单元测试,使用的是VS2019,本文使用了三种方法实现了单元测试。

1、 法一,使用xUint测试项目

  1. 加入测试项目,右击解决方案,选择添加,选择新建项目,如下图所示:

  1. 点击新建项目后输入xunit或者测试双击下图被选中的项目即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值