【发布时间】:2023-03-04 21:35:01
【问题描述】:
我目前正在重写一些单元测试以使用 NUnit 3 而不是 NUnit 2,并且需要将一些断言更改为基于约束的断言。我有以下断言:
Assert.IsNullOrEmpty(result);
我已经改成:
Assert.That(result, Is.Null.Or.Empty);
但是,我对声明 IsNotNullOrEmpty 时的可读性并不完全满意:
Assert.That(result, Is.Not.Null.And.Not.Empty);
我目前的建议是创建以下静态类:
public static class Text
{
public static EmptyConstraint IsNullOrEmpty => Is.Null.Or.Empty;
public static EmptyConstraint IsNotNullOrEmpty => Is.Not.Null.And.Not.Empty;
}
用法:
Assert.That(result, Text.IsNotNullOrEmpty);
这以引入自定义约束为代价提供了更好的可读性。是否有标准的方式来做出相同的断言,或者我应该继续使用Is.Not.Null.And.Not.Empty 代替吗?
【问题讨论】:
-
这个问题可以客观回答。编辑正文,以非主观的方式重述问题;投票重新开放。
标签: c# unit-testing nunit nunit-3.0