欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#使用NUnit進(jìn)行單元測(cè)試詳解

 更新時(shí)間:2023年12月21日 09:21:06   作者:rjcql  
NUnit是一個(gè)開源的.Net單元測(cè)試框架,經(jīng)常被用來在.Net體系下做白盒測(cè)試,本文主要為大家詳細(xì)介紹了如何C#如何使用NUnit進(jìn)行單元測(cè)試,感興趣的可以了解下

寫在前面

NUnit是一個(gè)開源的.Net單元測(cè)試框架,經(jīng)常被用來在.Net體系下做白盒測(cè)試。

NUnit.org · GitHub

本文記錄一個(gè)簡(jiǎn)單的使用NUnit進(jìn)行單元測(cè)試的完整流程。

代碼實(shí)現(xiàn)

新建一個(gè)目標(biāo)類庫NUnitTester,添加待測(cè)試的類文件,內(nèi)容如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace NUnitTester
{
    public class DataChecker
    {
        public bool IsPrime(int candidate)
        {
            if (candidate == 1)
            {
                return true;
            }
            return false;
        }
    }
}

在目標(biāo)類庫的父目錄下建立一個(gè)空的文件夾,命名為NUnitTester.Tests,進(jìn)入該目錄用命令行窗口執(zhí)行:

dotnet new nunit

完成后再執(zhí)行:

dotnet add reference ../NUnitTester/NUnitTester.csproj

添加目標(biāo)類庫的引用

修改單元測(cè)試類,編輯好測(cè)試用例方法

namespace NUnitTester.Tests;
 
[TestFixture]
public class Tests
{
    private DataChecker _dataChecker;
 
    [SetUp]
    public void Setup()
    {
        _dataChecker = new DataChecker();
    }
 
    [Test]
    public void Test1()
    {
        // 跳過
        Assert.Pass();
    }
 
    [TestCase(-1)]
    [TestCase(1)]
    public void IsValidValue(int value)
    {
        var isValid = _dataChecker.IsPrime(value);
        Assert.IsTrue(isValid, $"{value} {(isValid ? "":"不")}是合法的數(shù)值");
        Assert.IsFalse(isValid, $"{value} {(isValid ? "" : "不")}是合法的數(shù)值");
        //Assert.That(isValid, Is.False, $"{value} 不是合法數(shù)值");
    }
}

[TestFixture] 屬性表示包含單元測(cè)試的類。 [Test] 屬性指示方法是測(cè)試方法。

 其中[TestCase] 屬性用于創(chuàng)建一套可執(zhí)行相同代碼但具有不同輸入?yún)?shù)的測(cè)試。 可以使用 [TestCase] 屬性來指定這些輸入的值。

執(zhí)行結(jié)果

編輯好測(cè)試用例后,在測(cè)試項(xiàng)目目錄下,使用命令窗口執(zhí)行:

dotnet test

 與預(yù)期一致,單元測(cè)試通過

到此這篇關(guān)于C#使用NUnit進(jìn)行單元測(cè)試詳解的文章就介紹到這了,更多相關(guān)C# NUnit單元測(cè)試內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • c# 通過內(nèi)存映射實(shí)現(xiàn)文件共享內(nèi)存的示例代碼

    c# 通過內(nèi)存映射實(shí)現(xiàn)文件共享內(nèi)存的示例代碼

    這篇文章主要介紹了c# 通過內(nèi)存映射實(shí)現(xiàn)文件共享內(nèi)存的示例代碼,幫助大家更好的理解和學(xué)習(xí)使用c#,感興趣的朋友可以了解下
    2021-04-04
  • 90分鐘實(shí)現(xiàn)一門編程語言(極簡(jiǎn)解釋器教程)

    90分鐘實(shí)現(xiàn)一門編程語言(極簡(jiǎn)解釋器教程)

    本文介紹了如何使用 C# 實(shí)現(xiàn)一個(gè)簡(jiǎn)化 Scheme——iScheme 及其解釋器,需要的朋友可以參考下
    2016-12-12
  • Unity使用EzySlice實(shí)現(xiàn)模型多邊形順序切割

    Unity使用EzySlice實(shí)現(xiàn)模型多邊形順序切割

    這篇文章主要為大家詳細(xì)介紹了Unity使用EzySlice實(shí)現(xiàn)模型多邊形順序切割,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-07-07
  • 淺聊一下C#中內(nèi)存映射文件的玩法

    淺聊一下C#中內(nèi)存映射文件的玩法

    內(nèi)存映射文件是怎么玩的,說實(shí)話這東西理論我相信很多朋友都知道,就是將文件映射到進(jìn)程的虛擬地址,說起來很容易,那如何讓大家眼見為實(shí)呢,本文就來和大家簡(jiǎn)單聊聊
    2023-06-06
  • C#的泛型方法解析

    C#的泛型方法解析

    本文講解了C#2.0引入的泛型知識(shí),主要包含泛型類、泛型接口、泛型委托,并且重點(diǎn)講解了泛型方法,已經(jīng)泛型的約束分類。最后給了一些利用泛型方法操作xml的方法。希望對(duì)大家有所幫助
    2016-12-12
  • UnityShader3實(shí)現(xiàn)2D描邊效果

    UnityShader3實(shí)現(xiàn)2D描邊效果

    這篇文章主要為大家詳細(xì)介紹了UnityShader3實(shí)現(xiàn)2D描邊效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-02-02
  • C#調(diào)用非托管動(dòng)態(tài)庫中的函數(shù)方法

    C#調(diào)用非托管動(dòng)態(tài)庫中的函數(shù)方法

    這篇文章主要介紹了C#調(diào)用非托管動(dòng)態(tài)庫中的函數(shù)方法,本文講解創(chuàng)建一個(gè)非托管動(dòng)態(tài)庫,然后在C#中調(diào)用它,需要的朋友可以參考下
    2015-02-02
  • Unity3D創(chuàng)建圓柱體的方法

    Unity3D創(chuàng)建圓柱體的方法

    這篇文章主要為大家詳細(xì)介紹了Unity3D創(chuàng)建圓柱體的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-02-02
  • 基于WPF實(shí)現(xiàn)代碼查看器控件

    基于WPF實(shí)現(xiàn)代碼查看器控件

    這篇文章主要為大家詳細(xì)介紹了WPF如何實(shí)現(xiàn)代碼查看器控件,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)或工作有一定幫助,感興趣的小伙伴可以了解一下
    2022-11-11
  • C#7.0中新特性匯總

    C#7.0中新特性匯總

    C#7.0 增加了許多新功能,并專注于數(shù)據(jù)消費(fèi),簡(jiǎn)化代碼和性能的改善。接下來通過本文給大家介紹C#7.0中新特性匯總,需要的朋友可以參考下
    2016-08-08

最新評(píng)論