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:
Exemplarische Vorgehensweise: Erstellen und Ausführen von Komponententests. In dieser exemplarischen Vorgehensweise werden die Schritte zum Erstellen und Anpassen von Komponententests, zum Ausführung der Tests und zum Überprüfen der Testergebnisse beschrieben.
Exemplarische Vorgehensweise: Ausführen von Tests und Anzeigen der Codeabdeckung. Diese exemplarische Vorgehensweise veranschaulicht das Anzeigen von Codeabdeckungsdaten, die die Proportionen des zu testenden Projektcodes darstellen.
Exemplarische Vorgehensweise: Verwenden des Befehlszeilen-Testprogramms. In dieser exemplarischen Vorgehensweise verwenden Sie das Befehlszeilenhilfsprogramm MSTest.exe, um Tests auszuführen und Ergebnisse anzuzeigen.
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