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��� ������해, ��������트 ��������� ��������� ��������� ������해 ��� ������ ������������. ��� ������ �����할��� ��������� ���������.
Unmanaged C++������ ������ ��������� ��������� Unmanaged C++ Project ��������� ������������, 한��������� ���������킨�� assert ��� ������해 ������������ Test Framework ��� ������해��� ������하��� ���������������.
--NeoCoin
--NeoCoin
���.. gc��� ������ ������ 플����������� ������������ ��� ������ ������������. ��������� ������������ ������������? ������ 테���트할������ 테���트할 클��������� __gc��� ���������������? ��������� ���포할������ __gc��� ��������� ���������. ������ Managed C++ Extensions��� ��������� ������ ������������.(gc������) ���크������ ��� ������ ��������� ������ ��������� 한���... --������
�������� Managed C++��� ���히 ������해 ������ ���������, ��� ������������. ��������� __gc��� ��������� ��������� 하��� ������������ 확���할������ ������.
��������� ���������, MFC��� ��������� 테���트��� 하��� ������ ������ ������ ���������, MFC ��� ������한 �������������� ������ ������하������, 테���트��� 할��� ��������� 하������, MFC Frameworks ��� Managed C++ ��������� ���파������ ���������, ��� ���������������, ��������� ������������. ���������, MS������ ������ MFC class������ __gc��� ��������������� 한������? ����� ������ 해��� ���크������ ������하��� ���������?
��������� MFC ��������� ������ ������한 ��������� ��������� ������한 ������������ ������ ������ ������ ��������� ������한���. ������ ���������
--NeoCoin
.png)
--NeoCoin