Поделиться через


Пример модульного теста

Обновлен: Ноябрь 2007

Пример "Woodgrove Bank" содержит код, на основании которого можно выполнить построение простой программы. Затем можно создать модульные тесты для тестирования различных методов (как открытых, так и закрытых) программы Woodgrove Bank.

Этот пример кода предназначен для использования в следующих пошаговых руководствах.

Пример кода

Последняя версия кода этого примера доступна здесь:

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. */
ms243176.alert_note(ru-ru,VS.90).gifПримечание.

Вы могли увидеть старую версию этого примера на жестком диске своего компьютера в каталоге установки Visual Studio Team System Test Edition. По умолчанию примеры кода копируются во время установки в папку \Program Files\Visual Studio 9\Samples\. В отношении этого примера рекомендуется использовать код, приведенный в данном справочном разделе.

Работа с кодом

Для работы с этим кодом необходимо сначала создать для него проект в Visual Studio. Выполните шаги в разделе "Подготовка к выполнению пошагового руководства" в руководстве Пошаговое руководство. Создание и запуск модульных тестов

См. также

Задачи

Пошаговое руководство. Создание и запуск модульных тестов

Пошаговое руководство. Запуск тестов и просмотр покрытия кода

Пошаговое руководство. Использование программы командной строки для тестирования