U E D R , A S I H C RSS

NUnit/C++예제


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 . 것보다 방법 데... 방법밖는 만들다.
  1. 단 MFC 를 만든다. 라고 .
  2. Managed C++ Library 다. 라고 .
  3. 로 들 #using nunit\bin더를 다.
  4. 로 들 디렉 더를 .
  5. 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

.. gc를 면 닷 는 곳 . 그러면 방법 떤가? 때는 __gc를 붙? 나때는 __gc를 는 겁다. 물론 Managed C++ Extensions 문법 되겠.(gc빼고) 매로를 떻게 될 같기 데... --

는 Managed C++ 공부 , 모르겠다. __gc를 붙다 때는 문 다.

그것 떠나, MFC를 는 것 려면, MFC 로 로그램 , 는데, MFC Frameworks Managed C++ 모드로 되고, 가는, 다. 된다면, MS 모든 MFC class __gc가 붙기라 까? 당 매로가 까?

그래 MFC 는 것 닐까 다. 길 :)
--NeoCoin



Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:23:50
Processing time 0.0189 sec