Udostępnij za pośrednictwem


Przykładowy projekt dotyczący tworzenia testów jednostkowych

Próbka "Banku Woodgrove" składa się z kodu, który można tworzyć w prosty program.Następnie można generować jednostki badań, które testują różne metody, publicznych i prywatnych programu banku Woodgrove.

Kod ten jest przeznaczony dla w Poniższe instruktaże:

Uwaga jedynie zamierzonego błędu w tym przykładzie jest że w metodzie Debet "Kwota += m_balance" powinien mieć minus, nie plus podpisać przed znaku równości.

Przykładowy kod

Najbardziej aktualne kod dla tej próbki jest dostępna tutaj:

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

    }
}

/ * Przykładowe firmy, organizacje, produkty, nazwy domen, adresy e-mail, logo, osoby, miejsca i zdarzenia opisywane w przykładach są fikcyjne.Żadne skojarzenia z wszelkie rzeczywistych firm, organizacji, produktu, nazwy domeny, adres e-mail, logo, osoby, miejsca lub zdarzenia jest przeznaczony, lub należy się ich doszukiwać.*/

Praca z kodem

Aby pracować z tego kodu, najpierw trzeba utworzyć projekt dla niego w Visual Studio.Wykonaj kroki opisane w sekcji "Przygotowania instruktaż" w Wskazówki: tworzenie i uruchamianie testów jednostkowych zarządzanego kodu.

Zobacz też

Zadania

Wskazówki: tworzenie i uruchamianie testów jednostkowych zarządzanego kodu

Instruktaż: Za pomocą narzędzia wiersza polecenia badania

Inne zasoby

Instruktaż: Testy i wyświetlić kod zapotrzebowania