Exemple de projet pour la création de tests unitaires
L'exemple « Woodgrove Bank » consiste en un code vous pouvez générer dans un programme simple. Vous pouvez générer ensuite des tests unitaires qui testent les différentes méthodes, à la fois publiques et privées, du programme Woodgrove Bank.
Cet exemple de code est fourni pour être utilisé dans les procédures pas à pas suivantes :
Procédure pas à pas : création et exécution de tests unitaires. Cette procédure pas à pas vous guide à travers les étapes pour créer et personnaliser des tests unitaires, les exécuter, puis examiner les résultats des tests.
Procédure pas à pas : exécution des tests et affichage de la couverture du code. Cette procédure pas à pas montre comment afficher des données de couverture du code, ce qui permet de visualiser la proportion du code de votre projet en cours de test.
Procédure pas à pas : utilisation de l'utilitaire de test de ligne de commande. Dans cette procédure pas à pas, vous utilisez l'utilitaire en ligne de commande MSTest.exe pour exécuter des tests et en afficher les résultats.
Remarque L'unique erreur intentionnelle de cet échantillon est qu'un signe moins (et non plus) doit se situer devant le signe égal (dans la méthode Debit « m_balance += amount »).
Exemple de code
Le code le plus à jour pour cet exemple est disponible ici :
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);
}
}
}
/* Les noms de sociétés, d'organisations, de produits, de domaines, d'adresses de messagerie, de logos, de personnes, de lieux et d'événements mentionnés dans les exemples sont fictifs. Toute ressemblance avec des noms ou des événements réels est purement fortuite et involontaire. */
Utilisation du code
Pour utiliser ce code, vous devez d'abord créer un projet pour lui dans Visual Studio. Suivez les étapes décrites à la section « Préparer la procédure pas à pas » dans Procédure pas à pas : création et exécution de tests unitaires.
Voir aussi
Tâches
Procédure pas à pas : création et exécution de tests unitaires
Procédure pas à pas : exécution des tests et affichage de la couverture du code
Procédure pas à pas : utilisation de l'utilitaire de test de ligne de commande