您所在的位置: 首页>>开发>>.Net>>vs.net>>

NUnit学习之VS.net 2005篇(3)

  • 摘要:NUnit是一款堪与JUnit齐名的开源的回归测试框架,供.net开发人员做单元测试之用,内容包括配置类库、编写用于测试的类、编写测试用例、运行NUnit,程序实现上使用了VB、C#和J#代码。
  • 标签:.Net  VS  NUnit  测试

7.IsFalse()和IsTrue()方法,用来查看变量是是否为false或true,如果IsFalse()查看的变量的值是false则测试成功,如果是true则失败,IsTrue()与之相反。

8.IsNull()和IsNotNull()方法,用来查看对象是否为空和不为空。

9.IsEmpty()和IsNotEmpty()方法,用来判断字符串或集合是否为空串或没有元素,其中集合类型应与ICollection兼容。

10.IsNaN()方法,用来判断指定的值是否不是数字。

11.Fail()方法,意为失败,用来抛出错误。我个人认为有两个用途:首先是在测试驱动开发中,由于测试用例都是在被测试的类之前编写,而写成时又不清楚其正确与否,此时就可以使用Fail方法抛出错误进行模拟;其次是抛出意外的错误,比如要测试的内容是从数据库中读取的数据是否正确,而导致错误的原因却是数据库连接失败。

12.Ignore()方法,意为忽略,用来忽略后续代码的执行,用途可以参考Fail()方法。

此外,NUnit还提供了一个专用于字符串的静态类NUnit.Framework. StringAssert,该类主要包含4个方法:

1.Contains()方法,用来查看指定的第二个字符串中是否包含了第一个字符串。
2.StartsWith ()和EndsWith ()方法,分别用来查看指定的第一个字符串是否位于第二个字符串的开头和结尾。
3.AreEqualIgnoringCase()方法,用来比较两个字符串是否相等。

下面再看一下C#代码:

using System;
using System.Collections.Generic;
using System.Text;
using NUnit.Framework;
namespace NUnitCS
{
[TestFixture]
public class BookTest
{
Book book = null;
[SetUp]
public void Init()
{
Console.WriteLine("测试开始!");
book = new Book();
Console.WriteLine("book对象被初始化!");
}
[Test]
public void testId()
{
book.id = "001"; //设置id属性的值为
//使用Assert查看id属性的值是否为
Assert.AreEqual("001", book.id);
Console.WriteLine("id属性被测试!");
}
[Test]
public void testName()
{
book.name = "ASP"; //设置name属性的值为ASP
//使用Assert查看name属性的值是否为JSP,这是个必然出现错误的测试
Assert.AreEqual("JSP", book.name);
Console.WriteLine("name属性被测试!");
}
[TearDown]
public void Dispose()
{
Console.WriteLine("book对象将被清理!");
book = null;
Console.WriteLine("测试结束!");
}
}
}

没什么好说的吧?下面看J#代码:

package NUnitJS;
import System.*;
import NUnit.Framework.*;
/** @attribute TestFixture() */
public class BookTest
{
Book book = null;
/** @attribute SetUp() */
public void Init()
{
Console.WriteLine("测试开始!");
book = new Book();
Console.WriteLine("book对象被初始化!");
}
/** @attribute Test() */
public void testId()
{
book.set_id("001"); //设置id属性的值为001
//使用Assert查看id属性的值是否为001
Assert.AreEqual("001", book.get_id());
Console.WriteLine("id属性被测试!");
}
/** @attribute Test() */
public void testName()
{
book.set_id("ASP"); //设置name属性的值为ASP
//使用Assert查看name属性的值是否为JSP,这是个必然出现错误的测试
Assert.AreEqual("JSP", book.get_name());
Console.WriteLine("name属性被测试!");
}
/** @attribute TearDown() */
public void Dispose()
{
Console.WriteLine("book对象将被清理!");
book = null;
Console.WriteLine("测试结束!");
}
}

改好后,点击菜单“调试”->“启动调试”或按F5键运行程序。等等,main函数里头好象一句代码也没写过呢吧?没错,一句也没写,不过你照做就可以了。在看到黑屏一闪之后,编码工作完成。


共4页: 上一页 [1] [2] 3 [4] 下一页
【内容导航】
测试开发人员参考手册
专题:ASP.NET 2.0基础开发指南
.NET移动与嵌入式技术专题
.NET Framework新手入门专题
VS.NET实用开发专题
 
 验证码: (点击刷新验证码)   匿名发表
  • Visual C++ 完全自学宝典

  • 作者:强锋科技,朱洪波
  • Visual C++ 6.0是微软公司为程序人员提供的Visual Studio 6.0工具套件中的重要组成部分。本书由浅入深地介绍使用Visual C++ 6.0..
Copyright©2005-2008 51CTO.COM 版权所有