단위 테스트를 만들기 위한 샘플 프로젝트Sample Project for Creating Unit Tests

이 샘플 코드는 다음 연습에서 사용할 수 있도록 제공됩니다.This sample code is provided for use in the following walkthroughs:

샘플 코드Sample Code

이 샘플에서 의도적으로 발생시켜야 하는 오류는 Debit 메서드 "m_balance += amount"의 등호 앞에 더하기 기호가 아닌 빼기 기호가 있어야 한다는 것뿐입니다.The only intentional error in this sample is that the in Debit method "m_balance += amount" should have a minus not a plus sign before the equals sign.

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; // intentionally incorrect code  
        }  

        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);  
        }  

    }  
}  

/* 이 문서에 사용된 예제 회사, 조직, 제품, 도메인 이름, 전자 메일 주소, 로고, 사람, 장소 및 이벤트는 실제 데이터가 아닙니다./* 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. */*/

코드 작업Working with the Code

이 코드로 작업하려면 먼저 Visual StudioVisual Studio에서 이를 위한 프로젝트를 만들어야 합니다.To work with this code, you first have to create a project for it in Visual StudioVisual Studio. 연습: 관리 코드에 대한 단위 테스트 만들기 및 실행에서 "연습 준비" 섹션의 단계를 따르세요.Follow the steps in the "Prepare the Walkthrough" section in Walkthrough: Creating and Running Unit Tests for Managed Code.

참고 항목See Also

연습: 관리 코드에 대한 단위 테스트 만들기 및 실행 Walkthrough: Creating and Running Unit Tests for Managed Code
연습: 테스트 실행 및 코드 검사 보기 Walkthrough: Run tests and view code coverage
연습: 명령줄 테스트 유틸리티 사용Walkthrough: using the command-line test utility