我正在使用 Boost 库从智能指针中受益:shared_ptr。
我怀疑在我的单元测试中,我的作业很糟糕。
我的实现有什么缺点,特别是有// suspected注释的指令?
我是否需要释放 shared_ptr指针(我猜不可能按照我在单元测试中分配的方式去做)?
有什么建议吗?非常感谢!
在 Class2 声明中:
static boost::shared_ptr<Class1> getInstanceOfClass1();
在 Class2 定义中:
boost::shared_ptr<Class1> Class2::getInstanceOfClass1()
{
boost::shared_ptr<Class1> inst1 = boost::make_shared<Class1>();
//.... some instructions on inst1
return inst1 ;
}
在使用 Boost.Test 的单元测试中:
BOOST_AUTO_TEST_CASE( test_some_label_here )
{
string input;
//instructions...
// mocking the input
//...
Class1 a = *(Class2::getInstanceOfClass1()); //suspected
int code = a.useInputAndReturnCode(input);
// having CODE_X as a macro
BOOST_CHECK_EQUAL(code, CODE_X);
}