スマート ポインターの恩恵を受けるために Boost ライブラリを使用しています: shared_ptr。
単体テストで、悪い割り当てをしていると思われます。
私の実装の欠点は何ですか、特にコメントの疑いがある命令は何ですか?
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);
}