用于创建单元测试的示例项目
“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 中为其创建一个项目。 按照演练:创建并运行单元测试中“准备演练”部分所述的步骤进行操作。