MSDN单元测试示例

来源:互联网 发布:日语翻译公司知乎 编辑:程序博客网 时间:2024/04/28 16:04

单元测试示例

Visual Studio 2008
其他版本
2(共 3)对本文的评价是有帮助 评价此主题

更新:2007 年 11 月

“Woodgrove Bank”示例由可置入简单程序的代码组成。然后可以生成测试 Woodgrove Bank 程序各种方法(公共和私有方法)的单元测试。

这些示例代码是为以下演练而提供的:

  • 演练:创建并运行单元测试。此演练指导您通过一系列步骤来创建和自定义单元测试、运行单元测试以及检查测试结果。

  • 演练:运行测试并查看代码覆盖率。此演练说明如何查看代码覆盖率数据,这些数据显示正在测试的项目代码占所有代码的比例。

  • 演练:使用命令行测试实用工具。在此演练中,使用 MSTest.exe 命令行实用工具来运行测试并查看结果。

示例代码

此处提供的是该示例的最新代码:

C#
using System; namespace BankAccountNS{    /// <summary>     /// Bank Account demo class.     /// </summary>     public class BankAccount    {        private string m_customerName;        private double m_balance;        private bool m_frozen = false;        private BankAccount()        {        }        public BankAccount(string customerName, double balance)        {            m_customerName = customerName;            m_balance = balance;        }        public string CustomerName        {            get { return m_customerName; }        }        public double Balance        {            get { return m_balance; }        }        public void Debit(double amount)        {            if (m_frozen)            {                throw new Exception("Account frozen");            }            if (amount < 0)            {                throw new ArgumentOutOfRangeException("amount");            }            m_balance += amount;        }        public void Credit(double amount)        {            if (m_frozen)            {                throw new Exception("Account frozen");            }            if (amount > m_balance)            {                throw new ArgumentOutOfRangeException("amount");            }            m_balance += amount;        }        private void FreezeAccount()        {            m_frozen = true;        }        private void UnfreezeAccount()        {            m_frozen = false;        }        public static void Main()        {            BankAccount ba = new BankAccount("Mr. Bryan Walton", 11.99);             ba.Credit(5.77);            ba.Debit(11.22);            Console.WriteLine("Current balance is ${0}", ba.Balance);        }    }}/* The example companies, organizations, products, domain names, e-mail addresses, logos, people, places, and events depicted herein are fictitious.  No association with any real company, organization, product, domain name, email address, logo, person, places, or events is intended or should be inferred. */
说明:

您可能会注意到在您计算机硬盘上 Visual Studio Team System Test Edition 的安装目录中有此示例的旧版本。默认情况下,示例是在安装过程中复制到 \Program Files\Visual Studio 9\Samples\ 下的文件夹中的。对于此示例,建议您改用从此帮助主题中获取的代码。

使用代码

若要使用这些代码,您必须首先在 Visual Studio 中为其创建一个项目。按照演练:创建并运行单元测试中“准备演练”部分所述的步骤进行操作。 

请参见

任务

演练:创建并运行单元测试
演练:运行测试并查看代码覆盖率
演练:使用命令行测试实用工具