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 한? 해 크 하 ?