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