1. (Using C++) ¶
- 먼 를 Managed C++ 브러리 만.
- Test Fixture 는 TestFixture, Test Attribute 를 붙.
- C/C++ , #using NUnit 린 더 bin 더를 .
- dll .
- NUnit 린 더 bin 보면 NUnit-gui.exe . dll 딩 run면 들 .
- 는 무 만들, 는 만.. 냥 보는 마.
// NUnit6.h #pragma once #using <nunit.framework.dll> using namespace System; using namespace NUnit::Framework; namespace NUnitSamples { [TestFixture] public __gc class Calculator { int a, b; public: [SetUp] void Init(); [Test] void Add(); [Test] void Sub(); [Test] void Mul(); [Test] void Div(); }; }
// NUnit6.cpp #include "stdafx.h" #include "NUnit6.h" namespace NUnitSamples { void Calculator::Init() { a = 5; b = 7; } void Calculator::Add() { Assertion::AssertEquals(12, a+b); } void Calculator::Sub() { Assertion::AssertEquals(-2, a-b); } void Calculator::Mul() { Assertion::AssertEquals(35, a*b); } void Calculator::Div() { Assertion::AssertEquals(1.4, a/b); } }
2. ¶
- 더 . 만 cpp 만들 는. 러면 Test .
- namespace 면 만들 .
-
// NUnit6.h #pragma once #using <nunit.framework.dll> using namespace System; using namespace NUnit::Framework; [TestFixture] public __gc class Calculator { int a, b; public: [SetUp] void Calculator::Init() { a = 5; b = 7; } [Test] void Calculator::Add() { Assertion::AssertEquals(12, a+b); } [Test] void Calculator::Sub() { Assertion::AssertEquals(-2, a-b); } [Test] void Calculator::Mul() { Assertion::AssertEquals(35, a*b); } [Test] void Calculator::Div() { Assertion::AssertEquals(1.4, a/b); } };
// NUnit6.cpp #include "stdafx.h" #include "NUnit6.h"
3. MFC ¶
VC++ 7.0 MFC NUnit 보. 보 방 듯데... 방밖는 만들내 못.
- MFC 를 만. 메 .
- 루 Managed C++ Library 를 . .
- 들 #using nunit\bin더를 .
- 들 디리 메 더를 .
- 메 Managed C++ Extension .
메 만 를 . 떻 ? #include <domain.h> , .h .cpp 면 . 밤부 . 만 면 ... 만 를 보.
#pragma once class CDomain { public: CDomain(void); ~CDomain(void); int add(int a, int b); int mult(int a, int b); };대 면 면 . 만 는 Managed C++ Extensions. C++ .Net Platform 밍 Microsoft C++ 문 문 놓. 를 NUnit C++ . NUnit __gc 를 붙 .
#pragma once public __gc class CDomain { public: CDomain(void); ~CDomain(void); int add(int a, int b); int mult(int a, int b); };__gc 부는 능 대는 __gc . NUnit 대 는 무 . 내 보.
// TestCase.h #pragma once #using <nunit.framework.dll> using namespace System; using namespace NUnit::Framework; #include "Domain.h" // 디리 메 더를 놨므 능 namespace TestCase { [TestFixture] public __gc class Class1 { private: CDomain* m_pD; // Only Pointer public: [SetUp] void init() { m_pD = new CDomain; // delete . } [Test] void testAdd() { Assertion::AssertEquals(7, m_pD->add(3,4)); } [Test] void testMult() { Assertion::AssertEquals(12, m_pD->mult(3,4)); } }; }면 . 내느 . 런 미... NUnit 많 . 더 방 면 .
Unmanaged C++ 대 . , MFC 램, .Net Platform 는 는 동 . ( __gc 므)
민 NUnit Unmanged C++ 는 못. Managed C++ Unmanged C++ 를 만들 Managed C++ NUnit Unmanaged C++ 를 . 만, .Net Platform 미, Managed C++ Extension 몰, 리 문 봉 벽 부딪. .
는 Managed C++ 부 보 , 모르. __gc를 붙 는 문 .
, MFC를 면 를 는 미 면, MFC 램 동면, 를 는데, MFC Frameworks Managed C++ 모 , 돌는, 문. 면, MS 모 MFC class __gc 붙 ? 미 매 ?