• NUnit使用笔记2-GetStarted


    下面,是照着NUnit的帮助文档做的例子,原文在这里http://www.nunit.org/index.php?p=quickStart&r=2.6.4

    我们假设一个简单的银行账户管理功能,等会我会在下面给出本例子的所有源代码,这里只要看个意思就行

     1 using System;
     2 
     3 namespace Bank
     4 {
     5     public class Account
     6     {
     7         private decimal balance;
     8         private decimal minimumBalance = 10m;
     9 
    10         /// <summary>
    11         /// 存款
    12         /// </summary>
    13         /// <param name="amount"></param>
    14         public void Deposit(decimal amount)
    15         {
    16             balance += amount;
    17         }
    18 
    19         /// <summary>
    20         /// 取款
    21         /// </summary>
    22         /// <param name="amount"></param>
    23         public void Withdraw(decimal amount)
    24         {
    25             balance -= amount;
    26         }
    27 
    28         /// <summary>
    29         /// 转账
    30         /// </summary>
    31         /// <param name="destination"></param>
    32         /// <param name="amount"></param>
    33         public void TransferFunds(Account destination, decimal amount)
    34         {
    35             
    36         }
    37 
    38         public decimal Balance
    39         {
    40             get { return balance; }
    41         }
    42     }
    43 }
    View Code

    这是一个银行转账系统,除了存钱和取钱之外,有一个空函数public void TransferFunds(Account destination, decimal amount)

    这个函数由于我们马虎,里面的内容忘了实现,现在如果外部要调用这个函数,最终的结果肯定是错的。

    那么我们下面来演示一下如果使用NUnit来对这个类进行测试

    1.引用nuit.framework.dll(这个dll就在我们安装NUnit文件夹的Bin目录下)

    2.新建一个类AccountTest

     1 using NUnit.Framework;
     2 
     3 namespace Bank
     4 {
     5     [TestFixture]
     6     public class AccountTest
     7     {
     8         [Test]
     9         public void TransferFunds()
    10         {
    11             Account source = new Account();
    12             source.Deposit(200m);
    13 
    14             Account destination = new Account();
    15             destination.Deposit(150m);
    16 
    17             source.TransferFunds(destination, 100m);
    18 
    19             Assert.AreEqual(250m,destination.Balance);
    20             Assert.AreEqual(100m,source.Balance);
    21         }
    22     }
    23 }
    View Code

    3.重新编译整个项目

    4.在NUnit文件夹下打开nunit.exe

    5.在File->Open Project中打开你编译通过的dll也好,exe也好,我是做了一个exe

    6.打开之后界面如下,点击Run,可以看到,报错了,错误信息显示,Bank.AccountTest.TransferFunds这个函数有错误,预期的值是250,结果却是150

       

    7.重新打开VS,修改TransferFunds函数

     /// <summary>
            /// 转账
            /// </summary>
            /// <param name="destination"></param>
            /// <param name="amount"></param>
            public void TransferFunds(Account destination, decimal amount)
            {
                destination.Deposit(amount);
                Withdraw(amount);
            }
    View Code

    8.修改之后重新编译项目,然后再回到NUnit界面,不用再Open或者Reload,直接Run就可以,可以发现整个项目通过测试,O(∩_∩)O

       

    9.NUnit就这样搭建好了,项目下载地址 点我下载

       

       

  • 相关阅读:
    python3笔记十五:python函数
    python3笔记十四:python可变与不可变数据类型+深浅拷贝
    python3笔记十:python数据类型-Tuple元组
    python3笔记九:python数据类型-String字符串
    python3笔记六:for语句
    python3笔记五:while语句
    python3笔记四:if语句
    python3笔记三:运算符与表达式
    springboot学习问题一:启动springboot报错端口被占用解决办法
    后向传播算法“backpropragation”详解
  • 原文地址:https://www.cnblogs.com/zhousilai/p/4293573.html
Copyright © 2020-2023  润新知