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