Пример проекта для создания модульных тестов
Пример "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.Выполните шаги в разделе "Подготовка к выполнению пошагового руководства" в руководстве Пошаговое руководство. Создание и запуск модульных тестов для управляемого кода.
См. также
Задачи
Пошаговое руководство. Создание и запуск модульных тестов для управляемого кода
Пошаговое руководство. Использование программы командной строки для тестирования
Другие ресурсы
Пошаговое руководство. Запуск тестов и просмотр покрытия кода