• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

软件测试之nunit使用步骤

发布: 2009-3-30 12:50 | 作者: 不详 | 来源: 测试时代采编 | 查看: 137次 | 进入软件测试论坛讨论

领测软件测试网

本文讲述了如何用NUnit书写和组织测试代码的步骤。

简单的Test Case
书写软件测试代码的步骤:

1.  创建TestCase的一个实例;

2.  Override方法RunTest();

3.  如要检查某值,则调用Assert。

例如,测试“两个Money对象之和与包含它们之和的对象相等”的测试代码如下:

public void TestSimpleAdd() {

    Money m12CHF= new Money(12, "CHF");

    Money m14CHF= new Money(14, "CHF");

    Money expected= new Money(26, "CHF");

    Money result= m12CHF.Add(m14CHF);

    Assert(expected.Equals(result));

}

如果要写的测试与以前写的测试非常像,那么就写一个Fixture来代替。如果想在一个测试中运行更多的东西,就创建一个Suite。

Fixture
如果有两个或两个以上的测试作用于相同或类似的对象集,我们该怎么办呢?测试作用于一个已知的对象集,这个对象集被称为fixture。一般建立这个fixture的时间比实际测试的时间多得多。

       当有个公共的fixture时,我们可以这么做:

1.  创建TestCase的子类。

2.  为fixture的每部分加入一个实例变量。

3.  Override SetUp()初始化这些变量。

4.  Override TearDown()释放任何在SetUp中分配的永久资源。

例如,编写用来与12 Swiss Francs,14 Swiss Francs和28 US Dollars不同组合一起工作的TestCase时,首先创建一个fixture:

public class MoneyTest: TestCase {

    private Money f12CHF;

    private Money f14CHF;

    private Money f28USD;

   

    protected override void SetUp() {

        f12CHF= new Money(12, "CHF");

        f14CHF= new Money(14, "CHF");

        f28USD= new Money(28, "USD");

    }

}

一旦准备好Fixture,就可书写任意多的测试用例

Test Case
当有一个Fixture如何书写和调用一个独立的Test Case呢?书写一个没有的fixture测试用例是非常简单的——只需在TestCase 的一个子类中override RunTest。为一个Fixture书写测试用例是同样的方法,通过为set up代码制造一个TestCase的子类,然后为每个独立的测试用例制造不同的子类。然而,不久你就会注意到这些代码中的大部分成为了语法的牺牲品。

NUnit为书写一个基于Fixture的测试提供了简明的方法:

1.  在fixture类中书写一个public的测试方法。在此,必须确保这个方法是public的,否则它将不能通过reflection被调用。

2.  创建这个TestCase的一个实例,并把这个测试方法的名字传给它的constructor。

例如,测试一个Money对象与另一个MoneyBag的和:

public void TestMoneyMoneyBag() {

    // [12 CHF] + [14 CHF] + [28 USD] == {[26 CHF][28 USD]}

    Money bag[]= { new Money(26, "CHF"), new Money(28, "USD") };

    MoneyBag expected= new MoneyBag(bag);

   

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/

TAG: nunit NUnit Nunit 软件测试

21/212>

关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网