本文仅提供了public 思路方法 测试介绍说明 及前期工作和常用 断言和测试attribute
NUNIT使用介绍说明
:软件Software及安装
免费 开源 单元测试软件Software
安装只要运行安装 按所有缺省设置即可
NUNIT:www.nunit.org
NUNIT ADDIN :http://sourceforge.net/projects/nunitaddin/
2:DLL 测试
1:新建 个Class Library PROJECT
2:加入待测试DLL 引用
3:加入NUnit.Framework.dll 引用
4:在文件开头加入:using NUnit.Framework
5:在待测试 类前加入:[TestFixture]
6:在待测试 思路方法前加入:[Test]
7:启动NUNIT-GUI,新建项目 将新建 Class Library PROJECT加入 执行
3:Attribute介绍
1:TestFixture:每个待测试 类前必须加该Attribute
【注意】待测试类需要有 个public default constructor(或者是没有定义任何 constructor)
2:Test:每个测试 类中待测试 前必须加该Attribute
【注意】有Test attribute method必须是public 并且必须 void 也没有任何传入 参数 如果没有符合这些规定 在Test Runner GUI的中是不会列出这个method 而且在执行Unit Test 时候也不会执行这个method
3:TestFixtureSetUp 和TestFixtureTearDown介绍
这两个主要用在TestFixture里面 其作用是提供 组 执行任何测试运行的前(TestFixtureSetUP)和最后 个测试执行后(TestFixtureTearDown) 每 个TestFixture只能有 个TestFixtureSetUp思路方法和TestFixtureTearDown思路方法 如果 个以上 TestFixtureSetUp和TestFixtureTearDown思路方法 可以通过编译但是不会执行 注意 个TestFixture可以拥有 个TestFixtureSetUp和 个SetUp 也可以拥有 个TestFixtureTearDown和 个TearDown思路方法
TestFixtureSetUp 和 TestFixtureTearDown 被用在不方便使用SetUp和TearDown思路方法
般情况使用 SetUp 和TearDown attributes
4:SetUp 和 Teardown Attributes介绍
在写Unit Tests 时候 有时你会需要在执行每 个test method的前(或的后)先作 些预备或善后工作 当然 你可以写 个private method 然后在每 个test method 开头或最末端呼叫这个特别 method 或者 你可以使用我们要介绍 SetUp及Teardown Attributes来达到相同 目 如同这两个Attributes 名字 意思 有Setup Attribute method会在该TextFixture中 每 个test method被执行的前先被Test Runner所执行 而有Teardown Attribute method则会在每 个test method被执行的后被Test Runner所执行 般来说 Setup Attribute及Teardown Attribute被用来预备 些必须 objects(对象) 例如database connection、等等
5:Attribute介绍说明
TestFixture:每个待测试 类前必须加该Attribute
Test:每个测试 类中待测试 前必须加该Attribute
TestFixtureSetUp:在 个测试类中只执行 次 且在所有测试案例运行前执行
SetUp:在每个测试案例运行前执行
ADD:测试案例1
TearDown:在每个测试案例运行后执行
SetUp:在每个测试案例运行前执行
Sub:测试案例2
TearDown:在每个测试案例运行后执行
TestFixtureTearDown:在 个测试类中只执行 次 且在所有测试案例运行后执行
ExpectedException:检测抛出异常
[Test]
[ExpectedException(typeof(InvalidOperationException))]
[Test,ExpectedException(typeof(InvalidOperationException))]
Ignore :临时忽略 些测试
Ignore(“Not ready to test this yet”);
4:NUNIT 各种断言
断言用于帮助你确定某个被测试 是否工作正常 通常 个测试思路方法中会有多个断言 当 个断言失败时 该测试思路方法就会终止 可使用Assert或Assertion 断言
1:AreEquals(expected,actual[, message])
Expected是被测试代码 期望值 actual是被测试代码 实际值 message是 个可选 消息 在 2个值不 致时报告 Expected和actual可以是 个对象
对于浮点数 比较 使用AreEquals(expected,actual,tolerance[, message]),其中 tolerance表示精度 0.01表示仅比较小数后 2位
2:IsNull/IsNotNull(object[, message])
判断 个对象是空/非空
3:AreSame(expected,actual[, message])
判断Expected和actual是否是同 个对象
4:IsTrue(bool condition[, message])/IsFalse
判断条件是否为真/假
5:Fail([ message])
使测试立即失效
5:异常处理
NUNIT框架可以捕获任何异常 并且把它报告为 个 这些都不需要用户 参和
6:测试用例编写
NUNIT使用断言业判断待测试代码是否返回正确 结果 在编写测试用例 过程中 经常需要有 个正确 值作为依据 和测试代码返回 值进行比较 在有些情况下 可以比较容易地取到这些正确 值 但有时要取得这些正确 值并不容易 如在从数据库取数据时 难以设定 个正确 值 在这种情况下 最好使用 些已被测试是正确 或商用 模块 将这些测试过 或商用模块返回 值作为正确 值 作为 个比较参照