[http://nunit.org/ NUnit] 은 .Net 언어들을 위한 UnitTest Frameworks 이다. ---- === 관련 사이트 === * http://nunit.org/ * http://sourceforge.net/projects/nunit/ === 설치 === * http://nunit.org/ Download 에서 받아서 설치한다. MS Platform 답게 .msi 로 제공한다. || GUI 실행 화면 예제 || || Upload:NUnitByC#.gif || === 특징 === * NUnit 은 pyunit과 junit 과 달리, .Net Frameworks 에 도입된 Source 내의 Meta Data 기록인 Attribute 으로 {{{~cpp TestFixture}}}를 구성하고 테스트 임을 만방에 알린다. * Attribute 을 이용함에 따라 경험되는 장점 * 어떠한 클래스라도 즉시 Test를 붙일수 있다. (반면 JUnit 은 TestCase 를 상속받아야 하기 때문에, 기존 product소스가 이미 상속 상태라면 Test Fixture가 될수 없다. ) * 스크린 샷에서 처럼, 함수 이름이 Test 세팅에 종속적이지 않다. (반면 JUnit 은 reflection으로 Test 메소드들을 찾아내므로, Test의 이름들이 testXXX 와 같은 형태여야 한다.) * Attribute 를 이용해서 다소 이해하기 어려웠던 부분 * Attribute이 익숙하지 않은 상태라 Test 를 상속받은 후 SetUp과 TearDown 의 실행점이 명쾌하지 못했다. 즉, 학습 비용이 필요하다. === 실행하기 === [NUnit/C++예제] [NUnit/C#예제] === Thread === * 조금씩 조금씩~ * C++에서 CppUnit을 사용할수도 있겠지만, [인수]군이 써본바로는, 또한 6.0이 아닌 .Net을 쓴다면 NUnit이 더 좋은것 같다.(어차피 6.0에선 돌아가지도 않지만--;) CppUnit은... 뭔가 좀 이상하다.--; --[인수] * 표현이 잘못된것 같다. .NET(C#, VB.NET Managed C++ 등)을 쓴다면. Logic에서는 NUnit 밖에 쓸수 없다. --NeoCoin * 아무리 그래도.. pyunit,junit만큼 편한건 없는것 같다. --[인수] * Java 1.5 에 메타 테그가 추가되면 NUnit 방식의 TestCase 버전이 나올것 같다. 일단 이름의 자유로움과, 어떠한 클래스라도 Test가 될수 있다는 점이 좋왔다. 하지만, TestFixture 를 붙여주지 않고도, 목표한 클래스의 Test 들을 실행할 수 있는 방식이면 어떨까 생각해 본다. --NeoCoin * MFC에서 사용하기 추가했습니다. 저 방식대로라면 어떠한 방식에서든 쓸 수 있겠네요. --[인수] ---- See Also UnitTestFramework ---- ["도구분류"]