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就这样搭建好了,项目下载地址 点我下载

   

   

原文地址:https://www.cnblogs.com/zhousilai/p/4293573.html