Esempio di unit test
Aggiornamento: novembre 2007
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 e personalizzare gli unit test, per eseguirli e per esaminarne i risultati.
Procedura dettagliata: esecuzione di test e visualizzazione di code coverage. In base a una procedura dettagliata precedente, viene illustrato come visualizzare i dati di code coverage, che mostrano 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à da riga di comando MSTest.exe per eseguire i test e visualizzarne i risultati.
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 < 0)
{
throw new ArgumentOutOfRangeException("amount");
}
m_balance += amount;
}
public void Credit(double amount)
{
if (m_frozen)
{
throw new Exception("Account frozen");
}
if (amount > m_balance)
{
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);
}
}
}
/* The example companies, organizations, products, domain names, e-mail addresses, logos, people, places, and events depicted herein are fictitious. No association with any real company, organization, product, domain name, email address, logo, person, places, or events is intended or should be inferred. */
Nota: |
---|
È possibile notare una versione meno recente di questo esempio sul disco rigido del computer nella directory di installazione di Visual Studio Team System Test Edition. Per impostazione predefinita, gli esempi vengono copiati durante l'installazione in una cartella in \Programmi\Visual Studio 9\Samples\. Per questo esempio, si consiglia invece di utilizzare il codice disponibile in questo argomento della Guida. |
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: esecuzione di test e visualizzazione di code coverage
Procedura dettagliata: utilizzo dell'utilità di test della riga di comando