写在前面
NUnit是一个开源的.Net单元测试框架,经常被用来在.Net体系下做白盒测试。
本文记录一个简单的使用NUnit进行单元测试的完整流程。
代码实现
新建一个目标类库NUnitTester,添加待测试的类文件,内容如下:
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;
}
}
}
在目标类库的父目录下建立一个空的文件夹,命名为NUnitTester.Tests,进入该目录用命令行窗口执行:
dotnet new nunit
完成后再执行:
dotnet add reference ../NUnitTester/NUnitTester.csproj
添加目标类库的引用
修改单元测试类,编辑好测试用例方法
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 ? "":"不")}是合法的数值");
Assert.IsFalse(isValid,$"{value} {(isValid ? "" : "不")}是合法的数值");
//Assert.That(isValid,Is.False,$"{value} 不是合法数值");
}
}
[TestFixture]
属性表示包含单元测试的类。 [Test]
属性指示方法是测试方法。
其中[TestCase]
属性用于创建一套可执行相同代码但具有不同输入参数的测试。 可以使用 [TestCase]
属性来指定这些输入的值。
执行结果
编辑好测试用例后,在测试项目目录下,使用命令窗口执行:
dotnet test
与预期一致,单元测试通过
原文地址:https://blog.csdn.net/rjcql/article/details/135119269
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。