NUnit 分三篇文章介绍,入门者可阅读文章,有基础者直接参考官方文档。初次写博客,望大家指点。

导航:

单元测试之NUnit一

单元测试之NUnit二

单元测试之NUnit三

除了Assert断言外,NUnit还提供了其它直接断言的方法,比如string、directory、file等。另外,如有需要还可自行扩展。

String Assert

实现了string 类型的断言,包含以下方法:

 public class StringAssertTest
{
[Test]
public void Contains_Test()
{
string expected = "a";//期望值。被包含
string actual = "acb";//真是值。包含
StringAssert.Contains(expected, actual);
expected = "d";
StringAssert.DoesNotContain(expected, actual);
} [Test]
public void StartsWith_Test()
{
string actual = "dcc";
string expected = "d";
StringAssert.StartsWith(expected, actual);
expected = "c";
StringAssert.DoesNotStartWith(expected, actual);
} [Test]
public void EndsWith_Test()
{
string actual = "dcc";
string expected = "c";
StringAssert.EndsWith(expected, actual);
expected = "d";
StringAssert.DoesNotEndWith(expected, actual);
} [Test]
public void EqualIgnoringCase_Test()
{
string actual = "adc";
string expected = "adc";
StringAssert.AreEqualIgnoringCase(expected, actual);
expected = "a";
StringAssert.AreNotEqualIgnoringCase(expected, actual);
} [Test]
public void Match_Test()
{
string actual = "adc";
string expected = "adc";
StringAssert.IsMatch(expected, actual);
expected = "g";
StringAssert.DoesNotMatch(expected, actual);
}
}

Collection Assert

CollectionAssert 提供为实现了IEnumerable的集合比较提供一系列方法:

[Test]
public void Equal_Test()
{
List<int> expected = new List<int> { 1, 2, 3 };
List<int> actual = new List<int> { 2, 3, 1 };
CollectionAssert.AreNotEqual(expected, actual);//集合元素位置不同,不相等
actual = new List<int> { 1, 2, 3 };
CollectionAssert.AreEqual(expected, actual);
} [Test]
public void ItemsOfType_Test()
{
List<object> cols = new List<object> { "1", "2", "b" };
CollectionAssert.AllItemsAreInstancesOfType(cols, typeof(string));
}

更多方法如下:

CollectionAssert.AllItemsAreInstancesOfType(IEnumerable collection, Type expectedType);
CollectionAssert.AllItemsAreInstancesOfType(
IEnumerable collection, Type expectedType, string message, params object[] args); CollectionAssert.AllItemsAreNotNull(IEnumerable collection);
CollectionAssert.AllItemsAreNotNull(
IEnumerable collection, string message, params object[] args); CollectionAssert.AllItemsAreUnique(IEnumerable collection);
CollectionAssert.AllItemsAreUnique(
IEnumerable collection, string message, params object[] args); CollectionAssert.AreEqual(IEnumerable expected, IEnumerable actual);
CollectionAssert.AreEqual(
IEnumerable expected, IEnumerable actual, string message, params object[] args); CollectionAssert.AreEquivalent(IEnumerable expected, IEnumerable actual);
CollectionAssert.AreEquivalent(
IEnumerable expected, IEnumerable actual, string message, params object[] args); CollectionAssert.AreNotEqual(IEnumerable expected, IEnumerable actual);
CollectionAssert.AreNotEqual(
IEnumerable expected, IEnumerable actual, string message, params object[] args); CollectionAssert.AreNotEquivalent(IEnumerable expected, IEnumerable actual);
CollectionAssert.AreNotEquivalent(
IEnumerable expected, IEnumerable actual, string message, params object[] args); CollectionAssert.Contains(IEnumerable expected, object actual);
CollectionAssert.Contains(
IEnumerable expected, object actual, string message, params object[] args); CollectionAssert.DoesNotContain(IEnumerable expected, object actual);
CollectionAssert.DoesNotContain(
IEnumerable expected, object actual, string message, params object[] args); CollectionAssert.IsSubsetOf(IEnumerable subset, IEnumerable superset);
CollectionAssert.IsSubsetOf(
IEnumerable subset, IEnumerable superset, string message, params object[] args); CollectionAssert.IsNotSubsetOf(IEnumerable subset, IEnumerable superset);
CollectionAssert.IsNotSubsetOf(
IEnumerable subset, IEnumerable superset, string message, params object[] args); CollectionAssert.IsEmpty(IEnumerable collection);
CollectionAssert.IsEmpty(
IEnumerable collection, string message, params object[] args); CollectionAssert.IsNotEmpty(IEnumerable collection);
CollectionAssert.IsNotEmpty(
IEnumerable collection, string message, params object[] args); CollectionAssert.IsOrdered(IEnumerable collection);
CollectionAssert.IsOrdered(
IEnumerable collection, string message, params object[] args); CollectionAssert.IsOrdered(IEnumerable collection, IComparer comparer);
CollectionAssert.IsOrdered(IEnumerable collection,
IComparer comparer, string message, params object[] args);

Directory Assert

文件夹断言:

        [Test]
public void Directory_Test()
{
string basePath = AppDomain.CurrentDomain.BaseDirectory;
DirectoryAssert.Exists(basePath + "/Directory"); // 判断文件夹是否存在
}
 DirectoryAssert.AreEqual(DirectoryInfo expected, DirectoryInfo actual);
DirectoryAssert.AreEqual(DirectoryInfo expected, DirectoryInfo actual,
string message, params object[] args); DirectoryAssert.AreNotEqual(DirectoryInfo expected, DirectoryInfo actual);
DirectoryAssert.AreNotEqual(DirectoryInfo expected, DirectoryInfo actual,
string message, params object[] args); DirectoryAssert.Exists(DirectoryInfo actual);
DirectoryAssert.Exists(DirectoryInfo actual,
string message, params object[] args); DirectoryAssert.Exists(string actual);
DirectoryAssert.Exists(string actual,
string message, params object[] args); DirectoryAssert.DoesNotExist(DirectoryInfo actual);
DirectoryAssert.DoesNotExist(DirectoryInfo actual,
string message, params object[] args); DirectoryAssert.DoesNotExist(string actual);
DirectoryAssert.DoesNotExist(string actual,
string message, params object[] args);

File Assert

文件断言:

        [Test]
public void File_Test()
{
// 判断文件是否存在
FileAssert.Exists(AppDomain.CurrentDomain.BaseDirectory + "/Directory/file.txt");
}
FileAssert.AreEqual(Stream expected, Stream actual); //判断两个文件流是否相同
FileAssert.AreEqual(
Stream expected, Stream actual, string message, params object[] args); FileAssert.AreEqual(FileInfo expected, FileInfo actual); // 判断两个文件是否同一路径的同一文件
FileAssert.AreEqual(
FileInfo expected, FileInfo actual, string message, params object[] args); FileAssert.AreEqual(string expected, string actual);
FileAssert.AreEqual(
string expected, string actual, string message, params object[] args); FileAssert.AreNotEqual(Stream expected, Stream actual);
FileAssert.AreNotEqual(
Stream expected, Stream actual, string message, params object[] args); FileAssert.AreNotEqual(FileInfo expected, FileInfo actual);
FileAssert.AreNotEqual(
FileInfo expected, FileInfo actual, string message, params object[] args); FileAssert.AreNotEqual(string expected, string actual);
FileAssert.AreNotEqual(
string expected, string actual, string message, params object[] args); FileAssert.Exists(FileInfo actual); //判断文件是否存在
FileAssert.Exists(
FileInfo actual, string message, params object[] args); FileAssert.Exists(string actual);
FileAssert.Exists(
string actual, string message, params object[] args); FileAssert.DoesNotExist(FileInfo actual);
FileAssert.DoesNotExist(
FileInfo actual, string message, params object[] args); FileAssert.DoesNotExist(string actual);
FileAssert.DoesNotExist(
string actual, string message, params object[] args);

扩展

NUnit本身提供非常全面的功能,一般来说完全满足我们的项目需求。即使不能满足需求,NUnit也是可扩展的,包括:属性、约束条件、断言等的扩展。文档导航

最新文章

  1. Java泛型的历史
  2. 修改.net mvc中前端验证信息的显示方式
  3. 第3章 Linux常用命令(3)_文件搜索命令
  4. python gutter area / 设置断点、行号右边代码左边的空白栏
  5. HBase预分区
  6. Java基础-继承-编写一个Java应用程序,设计一个汽车类Vehicle,包含的属性有车轮个数 wheels和车重weight。小车类Car是Vehicle的子类,其中包含的属性有载人数 loader。卡车类Truck是Car类的子类,其中包含的属性有载重量payload。每个 类都有构造方法和输出相关数据的方法。最后,写一个测试类来测试这些类的功 能。
  7. 烂泥:mysql修改本地主机连接
  8. Windows Azure CN 超业余性能测试
  9. TIPSO--基于JQUERY的消息提示框插件,用起来蛮顺手
  10. 获取当前url并指定url中的字符 效果
  11. iOS中&quot;查看更多/收起&quot;功能实现
  12. RSP小组——团队冲刺博客二
  13. 从零开始在iPhone上运行视频流实时预测模型应用,只需10步
  14. mac下进行连接pptp协议
  15. cxGrid 怎样才能让不自动换行 WordWrap:=false
  16. TcxGrid标题头 字体加粗
  17. mothur summary.seqs 统计fasta文件中每条序列的长度
  18. MySQL主从同步和半同步配置
  19. pycharm连接虚拟机
  20. python条件判断和循环

热门文章

  1. C4.5和ID3的差别
  2. JS系列1---节流,去抖(防抖)应用场景:intput请求优化,页面监听
  3. [PTA] 1002. 写出这个数 (Basic)
  4. sql nvarchar类型和varchar类型存储中文字符长度
  5. 从零开发一款自己的小程序UI组件库(一)
  6. django第二次 (转自刘江)
  7. ListActivity
  8. jquery的addClass、removeClass、toggleClass方法
  9. [NSNull intValue]: unrecognized selector sent to instance 0x375c9860
  10. RabbitMQ与spring集成,配置完整的生产者和消费者