E D R , A S I H C RSS

NUnit

NUnit 은 .Net 언어들을 위한 UnitTest Frameworks 이다.
----

설치

  • http://nunit.org/ Download 에서 받아서 설치한다. MS Platform 답게 .msi 로 제공한다.
GUI 실행 화면 예제
NUnitByC#.gif

특징

  • NUnit 은 pyunit과 junit 과 달리, .Net Frameworks 에 도입된 Source 내의 Meta Data 기록인 Attribute 으로 ~cpp TestFixture를 구성하고 테스트 임을 만방에 알린다.
  • Attribute 을 이용함에 따라 경험되는 장점
    • 어떠한 클래스라도 즉시 Test를 붙일수 있다. (반면 JUnitTestCase 를 상속받아야 하기 때문에, 기존 product소스가 이미 상속 상태라면 Test Fixture가 될수 없다. )
    • 스크린 샷에서 처럼, 함수 이름이 Test 세팅에 종속적이지 않다. (반면 JUnit 은 reflection으로 Test 메소드들을 찾아내므로, Test의 이름들이 testXXX 와 같은 형태여야 한다.)
  • Attribute 를 이용해서 다소 이해하기 어려웠던 부분
    • Attribute이 익숙하지 않은 상태라 Test 를 상속받은 후 SetUpTearDown 의 실행점이 명쾌하지 못했다. 즉, 학습 비용이 필요하다.

실행하기

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
----
도구분류
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2009-05-27 07:09:19
Processing time 0.0967 sec