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 붙 ? 미 매 ?










