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 für verwalteten Code aus.

Siehe auch

Aufgaben

Exemplarische Vorgehensweise: Erstellen und Ausführen von Komponententests für verwalteten Code

Exemplarische Vorgehensweise: Verwenden des Befehlszeilen-Testprogramms

Weitere Ressourcen

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