xunit 单元测试

本文介绍如何使用xUnit和Autofac进行有效的单元测试。通过创建类库并引入必要的NuGet包,如xunit、xunit.runner.visualstudio和xunit.autofac,实现了测试环境的搭建。接着,通过ServiceRegistration类实现依赖注入,为JwtUserService提供接口。最后,创建JwtUserAppService_Test类,测试了获取用户列表和通过用户名及密码获取用户的功能。

代码:GitHub 

参考地址:https://github.com/Acumatica/xunit.autofac   

xunit +autofac进行单元测试 

①创建一个类库

引用nuget:

xunit
xunit.runner.visualstudio   可以在vs中跑的包
xunit.autofac

 

②创建一个ServiceRegistration 类

    public class ServiceRegistration : Module //Autofac
    {
        /// <summary>
        /// 依赖注入
        /// </summary>
        /// <param name="builder"></param>
        protected override void Load(ContainerBuilder builder)
        {
            builder.RegisterType<JwtUserRepository>().As<IJwtUserRepository>();
            builder.RegisterType<JwtUserService>().As<IJwtUserService>();
        }
    }

在程序集中注册

 

 

添加测试类:

    /// <summary>
    /// Jwt用户表应用层服务测试
    /// </summary>
    public class JwtUserAppService_Test
    {
        /// <summary>
        /// 依赖注入
        /// </summary>
        private readonly IJwtUserService _jwtUserService;

        public JwtUserAppService_Test(IJwtUserService jwtUserService)
        {
            this._jwtUserService = jwtUserService;
        }


        /// <summary>
        /// 全部用户
        /// </summary>
        /// <returns></returns>
        [Fact]
        public async Task GetListAsync_Test()
        {
            List<JwtUser> list = await this._jwtUserService.GetListAsync();
        }

        /// <summary>
        ///  用户名和密码获取用户
        /// </summary>
        /// <param name="inDto">inDto</param>
        /// <returns>OutDto</returns>
        [Fact]
        public async Task GetJwtUserAsync_Test()
        {
            AuthenticateInDto inDto = new AuthenticateInDto
            {
                UserName = "sealee",
                PassWord = "123"
            };
            JwtUser model = await this._jwtUserService.GetJwtUserAsync(inDto);
        }


        //添加删除修改,都需要新建一个类进行测试

    }
}

 

打开测试:

 

 

 

 

转载于:https://www.cnblogs.com/Sea1ee/p/10980075.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值