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.0224 sec