zoukankan      html  css  js  c++  java
  • UnitTest之Xunit

    Unit Test

    1.建立单元测试
    新建一个类库项目,在Nuget中搜索xunit,选择 xUnit.net 和 xunit.runner.visualstudio 插件包安装。
    xunit.runner.visualstudio(测试资源管理器),安装之后可以在 '测试--》窗口--》测试资源管理器' 打开测试资源管理器界面
    * 如果想在CMD下调试,可以安装xunit.runner.console 插件包

    2.xUnit.Net常用的标记(Fact 事实)
    [Fact] 标记为测试方法,可设置参数:Skip,DisplayName,Timeout
    [Fact(Skip ="跳过测试")]//临时忽略被标记的方法
    [Fact(DisplayName ="通过测试")]
    [Theory] 配合InlineData可以直接在一个方法中测试多组参数

    3.xUnit.Net的断言(Assertions)
    //Assert.Equal(resultModel.eAccountID, 1169676);
    Equal 相等比较
    NotEqual 不相等比较
    NotEmpty 不为空
    Contains ......
    * Model比较可以用 CompareNETObjects,在 Nuget 中查询 CompareNETObjects 插件包安装

    private CompareLogic compareLogic;
    compareLogic = new CompareLogic();

    var expectedResult = GetCaseModel();
    ComparisonResult compareResult = compareLogic.Compare(expectedResult, new Case() { CaseID = 1, BankCode = "2" });
    Assert.Equal(true, compareResult.AreEqual);

    4.在XUnit中使用Moq模拟EntityFramework Core下的DbSet
    在 Nuget 中查询 Moq 插件包安装

    单元测试中使用Moq对EF的DbSet进行mock

    刚用上Moq,就用它解决了一个IUnitOfWork的mock问题

    代码地址:https://gitee.com/516877626/UnitTestXUnit.git

  • 相关阅读:
    C# 文件类的操作---删除
    C#实现Zip压缩解压实例
    UVALIVE 2431 Binary Stirling Numbers
    UVA 10570 meeting with aliens
    UVA 306 Cipher
    UVA 10994 Simple Addition
    UVA 696 How Many Knights
    UVA 10205 Stack 'em Up
    UVA 11125 Arrange Some Marbles
    UVA 10912 Simple Minded Hashing
  • 原文地址:https://www.cnblogs.com/Tom-yi/p/8249976.html
Copyright © 2011-2022 走看看