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 per codice gestito.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 per codice gestito.
Vedere anche
Attività
Procedura dettagliata: creazione ed esecuzione di unit test per codice gestito
Procedura dettagliata: utilizzo dell'utilità di test della riga di comando
Altre risorse
Procedura dettagliata: eseguire test e visualizzare il code coverage