Compartilhar via


Projeto de exemplo para criação de testes de unidade

O exemplo de "Woodgrove Bank" consiste em código que você pode construir em um programa simples.Em seguida, você pode gerar testes de unidade que testam os diversos métodos, públicos e privados, do programa Woodgrove Bank.

Este código de exemplo é fornecido para uso em orientações a seguir:

Nota o erro intencional somente neste exemplo é que o método de débito em "valor de + = m_balance" deve ter menos não um sinal de mais assinar antes do sinal de igual.

Código de Exemplo

O código mais atualizado para esta amostra está disponível aqui:

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);
        }

    }
}

/ * Os exemplos de empresas, organizações, produtos, nomes de domínio, endereços de email, logotipos, pessoas, lugares e acontecimentos aqui mencionados são fictícios.Nenhuma associação com qualquer real da empresa, organização, produto, nome de domínio, endereço de e-mail, logotipo, pessoa, lugares ou eventos é intencional ou deve ser inferida.*/

Trabalhando com o código

Para trabalhar com esse código, você primeiro deve criar um projeto para ele na Visual Studio.Siga as etapas na seção "Prepare o passo a passo" de Instruções passo a passo: criando e executando testes de unidade para código gerenciado.

Consulte também

Tarefas

Instruções passo a passo: criando e executando testes de unidade para código gerenciado

Passo a passo: Usando o utilitário de teste de linha de comando

Outros recursos

Passo a passo: Executar testes e exibir cobertura código