“Woodgrove bank”示例包括可置入简单程序的代码。然后可以生成单元测试的各种方法,公共和私有, Woodgrove bank 程序。
此代码示例提供用于以下演练:
演练:创建并运行托管代码的单元测试.本演练将导致步骤,可以创建和自定义单元测试,运行这些测试,并检查测试结果。
演练:运行测试并查看代码覆盖率.此演练说明如何查看代码复盖率数据,这些数据显示测试的项目代码部分测试。
演练:使用命令行测试实用工具.在本演练中,您使用 MSTest.exe 命令行实用工具来运行测试并查看结果。
附注此示例中故意设置的唯一错误是 debit 方法 “m_balance += amount”中的等号前面有递减不是加号的。
代码示例
此示例的最新代码如下所示:
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 > m_balance)
            {
                throw new ArgumentOutOfRangeException("amount");
            }
            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 < 0)
            {
                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);
        }
    }
}
/* 此处描述的示例公司、组织、产品、域名、电子邮件地址、徽标、人物、地点和事件是虚拟的。与任何真实的公司、组织、产品、域名、电子邮件地址、徽标、人物、地点或事件相关联也不应不应推理。*/
使用代码
若要使用此代码,则在 Visual Studio必须首先为其创建一个项目。按照中 “准备演练”部分中的步骤 演练:创建并运行托管代码的单元测试。