Freigeben über


Beispielprojekt zum Erstellen von Komponententests

Das "Woodgrove Bank"-Beispiel besteht aus einem Code, aus dem Sie ein einfaches Programm erstellen können. Anschließend können Sie Komponententests generieren, mit denen die verschiedenen Methoden (sowohl öffentliche als auch private) des Woodgrove Bank-Programms getestet werden.

Dieser Beispielcode wird für die folgenden exemplarischen Vorgehensweisen zur Verfügung gestellt:

Hinweis   Der einzige absichtlich eingeführte Fehler in diesem Beispiel besteht darin, dass in der Debit-Methode in "m_balance += amount" vor dem Gleichheitszeichen statt eines Pluszeichens ein Minus stehen sollte.

Beispielcode

Der neueste Code für dieses Beispiel ist hier verfügbar:

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

    }
}

/* Die in den Beispielen genannten Unternehmen, Organisationen, Produkte, Domänennamen, E-Mail-Adressen, Logos, Personen, Orte und Ereignisse sind frei erfunden. Ein Bezug auf tatsächliche Firmen, Organisationen, Produkte, Domänennamen, E-Mail-Adressen, Logos, Personen, Orte oder Ereignisse ist nicht beabsichtigt oder ableitbar.. */

Arbeiten mit dem Code

Um mit diesem Code zu arbeiten, müssen Sie dafür zuerst in Visual Studio ein Projekt erstellen. Führen Sie die Schritte des Abschnitts "Exemplarische Vorgehensweise" in Exemplarische Vorgehensweise: Erstellen und Ausführen von Komponententests aus.

Siehe auch

Aufgaben

Exemplarische Vorgehensweise: Erstellen und Ausführen von Komponententests

Exemplarische Vorgehensweise: Ausführen von Tests und Anzeigen der Codeabdeckung

Exemplarische Vorgehensweise: Verwenden des Befehlszeilen-Testprogramms