用于创建单元测试的示例项目

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

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

注意   此示例中故意设置的唯一错误是,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 中为其创建一个项目。 按照演练:创建并运行单元测试中“准备演练”部分所述的步骤进行操作。

请参见

任务

演练:创建并运行单元测试

演练:运行测试并查看代码覆盖率

演练:使用命令行测试实用工具