|
兄弟目前使用cppunit做单元测试,准备针对每个函数设计一个测试函数,可是不知道如何处理被测函数调用其他函数的情况。举例如下:
class A
{
private:
void somefunc(){...}
public:
int add(int a,int b){ return a+b;}
void func(){ somefunc();}
}
针对class A进行单元测试时,设计下面的测试类:
class ATest
{
CPPUNIT_TEST_SUITE( ATest);
CPPUNIT_TEST( test_constructor );
CPPUNIT_TEST( test_model );
CPPUNIT_TEST( test_view );
CPPUNIT_TEST_SUITE_END();
public:
void test_somefunc();
void test_add();
void test_func();
}
test_add()是cppunit非常容易解决的情况,根据返回值判断函数的执行是否正确,大多数cppunit的文章都由该情况的处理方法。可是对于void func()函数,由于他没有自己的输出数据,所以很难直接判断它的正确性,除非将他和void somefunc()合在一起进行测试,但是当这种函数调用比较复杂的情况下测试用例的组织也变得复杂,请教各位是如何处理这种情况的? |
|