Progetto di esempio per la creazione di unit test
L'esempio "Woodgrove Bank" è un codice per compilare un programma semplice. È possibile in seguito generare degli unit test per verificare vari metodi, sia pubblici che privati, del programma Woodgrove Bank.
Questo codice di esempio viene fornito per le seguenti procedure dettagliate:
Procedura dettagliata: creazione ed esecuzione di unit test. Vengono descritti i passaggi necessari per creare, personalizzare ed eseguire gli unit test, nonché per esaminarne i risultati.
Procedura dettagliata: eseguire test e visualizzare il code coverage. Viene illustrato come visualizzare i dati di code coverage in cui viene mostrata la percentuale del codice del progetto che si sta testando.
Procedura dettagliata: utilizzo dell'utilità di test della riga di comando. Viene utilizzata l'utilità della riga di comando MSTest.exe per eseguire i test e visualizzarne i risultati.
Nota L'unico errore intenzionale di questo esempio è che nel metodo Debit "m_balance += amount" dovrebbe esserci un segno meno e non più prima del segno di uguale.
Codice di esempio
Il codice più aggiornato per questo esempio viene riportato di seguito.
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);
}
}
}
/* Ogni riferimento a società, organizzazioni, prodotti, nomi di dominio, indirizzi di posta elettronica, logo, persone, luoghi ed eventi è puramente casuale. Nessuna associazione con nessuna società, organizzazione, prodotto, nome di dominio, indirizzo di posta elettronica, logo, persona, luogo o evento è intenzionale o può essere presupposta. */
Utilizzo del codice
Per utilizzare questo codice, è necessario avere prima creato un progetto apposito in Visual Studio. Completare i passaggi nella sezione "Preparazione per la procedura dettagliata" in Procedura dettagliata: creazione ed esecuzione di unit test.
Vedere anche
Attività
Procedura dettagliata: creazione ed esecuzione di unit test
Procedura dettagliata: eseguire test e visualizzare il code coverage
Procedura dettagliata: utilizzo dell'utilità di test della riga di comando