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 :

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 pour le code managé.

Voir aussi

Tâches

Procédure pas à pas : création et exécution de tests unitaires pour le code managé

Procédure pas à pas : utilisation de l'utilitaire de test de ligne de commande

Autres ressources

Procédure pas à pas : exécution des tests et affichage de la couverture du code