把前面的代码放在MyCppUnit文件夹中.
//Client.h
class Client
{
private:
int m_id;
public:
Client(int id = 0):m_id(id)
{
}
int get_id()
{
return m_id;
}
void set_id(int id)
{
m_id = id;
}
};
//test_Client
#include "Client.h"
#include "MyCppUnit/TestFixture.h"
#include "MyCppUnit/TestAssert.h"
class test_Client:public CppUnit::TestFixture
{
private:
Client client;
public:
void setUp();
void tearDown();
~test_Client();
void test_get_id();
void test_set_id();
};
void test_Client::setUp()
{
client = Client(9);
}
void test_Client::tearDown()
{
//
}
test_Client::~test_Client()
{
//
}
void test_Client::test_get_id()
{
CPPUNIT_ASSERT_MESSAGE("²âÊÔget_id()·½·¨",9 == client.get_id());
}
void test_Client::test_set_id()
{
client.set_id(30);
CPPUNIT_ASSERT_MESSAGE("²âÊÔset_id()·½·¨",30 == client.get_id());
}
//main
#include "test_Client.h"
#include "MyCppUnit/TestCaller.h"
#include "MyCppUnit/TestRunner.h"
#include "MyCppUnit/TestSuite.h"
int main(int argc,char *argv[])
{
test_Client *test = new test_Client;
CppUnit::TestCaller<test_Client> get_id_caller("²âÊÔget_id()ÓÃÀý",test_Client::test_get_id,test);
CppUnit::TestCaller<test_Client> set_id_caller("²âÊÔset_id()ÓÃÀý",test_Client::test_set_id,test);
CppUnit::TestSuite client_suite("²âÊÔClientÀà");
client_suite.addTest(&get_id_caller);
client_suite.addTest(&set_id_caller);
CppUnit::TestRunner runner("Õû¸öÏîÄ¿IM");
runner.addSuite(client_suite);
runner.run();
return 0;
}