일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- eventhandler
- C# MDB Handle
- WPF
- DrawRectangle
- 경기도 버스
- 디자인 패턴
- MDB Select
- 버스 API
- eventargs
- 경기도 버스정보시스템
- NUnit
- sqlite3
- delegate
- Excel Cell Format
- c#
- 공공 데이터 포털
- 객체지향
- C# MDB
- 시
- C# 파일 암/복호화
- MVC
- JSON
- solid
- TDD
- Json.NET
- DrawEllipse
- Cell Border Style
- GDI+
- Winform
- MDB Connect
- Today
- Total
White Whale Studio
[Nunit] 테스트 해보기 본문
지난번 Nunit 포스팅에서는 VS2010에서의 Nunit 설정에 대해서 살펴보았습니다.
이번 포스팅에서는 소스를 보면서 해보도록 하겠습니다.
우선 테스트 프로젝트를 생성하실때는 클래스 라이브러리로 생성해줍니다.
nunit.framework.dll 을 참조해주시구요.
다음으로 코딩을 해보겠습니다.
준비물은
1. 테스트할 클래스 (대상 클래스)
2. 테스트 케이스 클래스 (테스트 결과를 확인할 수 있는 클래스)
가 되겠습니다.
우선 테스트할 소스를 볼까요.
1 2 3 4 5 6 7 8 9 10 11 12 | public class Calculator { public int Add(int a, int b) { return a + b; } public int Sub(int a, int b) { return a - b; } } | cs |
간단하게 Add 와 Sub 메서드를 가지는 클래스입니다.
실제로 테스트할 메서드는 겁나 복잡하겠죠?
아무튼, 위의 Calculator 클래스가 1. 테스트할 소스 코드입니다.
다음은 테스트 케이스 클래스 입니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | [TestFixture] public class CalculatorTest { [Test] public void AddTest() // Add Method Test { Calculator car = new Calculator(); int result = car.Add(3, 4); // 3 + 4 int expected = 7; // 기대 값 7 Assert.AreEqual(expected, result); // 값 비교 } [Test] public void SubTest() // Sub Method Test { Calculator car = new Calculator(); int result = car.Sub(10, 2); // 10 - 2 int expected = 8; // 기대 값 8 Assert.AreEqual(expected, result); // 값 비교 } [Test] public void SubTest2() // Sub Method Test { Calculator car = new Calculator(); int result = car.Sub(2, 20); // 10 - 2 int expected = -18; // 기대 값 8 Assert.AreEqual(expected, result); // 값 비교 } } | cs |
위에 TestFixture와 Test Attribute는 Nunit에서 사용되는 Attribute 입니다. MSTest에서는 다르더군요.
이 부분이 잘못되면 당연히 에러가 발생하므로 주의하시기 바랍니다.
AddTest()를 살펴보면
Calculator 클래스에서 인스턴스를 생성하고 Add 메서드를 호출합니다.
소스코드에서 보시듯이 직관적입니다.
메서드에서 Add 메서드를 작업한 결과물이 result에 저장되고
제가 계산했을 때 결과값으로 예상했던 결과물인 7을 expected에 넣었습니다.
그리고 마지막으로 Assert.AreEqual(expected, result); // 값 비교
를 통해서 테스트할 클래스에서 계산한 결과와 제가 예상한 결과값이 맞는가? 확인해서 반환합니다.
Nunit 테스트 화면에서는 이 결과값이 맞다면 녹색으로 아니라면(또는 뭔가 에러가 있다면) 빨간색으로 표시됩니다.
위에서 SubTest는 잘못된 케이스를 보여드리기 위해 일부러 expected 값을 틀리게 넣었습니다.
이것과 같이 값이 상이한가를 확인해서 Nunit 테스트 창에서 확인할 수 있습니다.
어떤 값이 잘못되었는지, 어떤 메서드에서 문제가 발생했는지 확인 가능합니다.
비교하는 메서드는 종류가 많고 저도 아직 익숙지 않은지라 소개정도만 하였습니다.
아, 그리고 또 한가지
소스코드를 수정하고 Nunit에서 확인할 때는 빌드를 수행하신 뒤 하셔야 적용된 소스코드로 테스트 하실 수 있습니다.
자세한 내용은 Nunit 홈페이지에서 참조하시기 바랍니다.
'IT Engineering > C#.net' 카테고리의 다른 글
DbDataReader 다루기 (0) | 2020.03.30 |
---|---|
C# Firefox Runtime Package - XulRunner - Gecko (0) | 2017.02.15 |
[Effective Coding for Memory] (0) | 2016.08.11 |
닷넷 프레임워크가 필요없는 포터블 exe 만들기 (0) | 2016.08.10 |
[JSON] C#에서 사용하기 (0) | 2016.08.09 |