现在我可以开始了。我创建一个名为 IntegerListTest.cs 的新 C# 类文件,用于存放所有测试。下面是包含第一个测试的文件:
using System;
using System.Collections;
using NUnit.Framework;
namespace IntegerList
{
/// <summary>
/// IntegerClassTest 的摘要说明。
/// </summary>
[TestFixture]
public class IntegerClassTest
{
[Test]
public void ListCreation()
{
IntegerList list = new IntegerList();
Assertion.AssertNotNull(list);
}
}
}
[TestFixture] 属性将此类标记为测试类,[Test] 属性将 ListCreation() 方法标记为测试方法。在此方法中,我创建了一个列表,然后使用 Assertion 类测试对象 gets 已经创建。
我启动 nUnit GUI 测试程序,打开可执行文件,并执行这些测试。将获得如下显示。
图 1:显示测试结果的 nUnit GUI
这表明所有测试都已通过。现在我想添加一些真实功能。第一个操作就是向列表中添加一个整数。此测试如下所示:
[Test]
public void TestSimpleAdd()
{
IntegerList list = new IntegerList();
list.Add(5);
list.Add(10);
Assertion.AssertEquals(2, list.Count);
Assertion.AssertEquals(5, list[0]);
Assertion.AssertEquals(10, list[1]);
}
在此测试中,我选择同时测试两个操作:
列表正确维护 Count 属性。
列表可以包含两个项。
某些测试驱动开发的倡议者提倡测试应尽可能只测试数目,但是如果只测试数目而不测试项目,这对于我而言有些不可思议,因此我所选择的是两者一起测试。
编译这段代码时,由于 IntegerList 类中没有方法,因此编译失败,为此我加上以下代码进行编译:
public int Count
{
get
{
return -1;
}
}
public void Add(int value)
{
}
public int this[int index]
{
get
{
return -1;
}
}
文章来源于领测软件测试网 https://www.ltesting.net/