私はテスト駆動開発に不慣れで、初めてそれを単純なプロジェクトで使用しようとしています。
クラスがあり、このクラスのオブジェクトの作成、挿入、および削除をテストする必要があります。3つの別々のテスト関数を作成する場合、他の関数で初期化コードを複製する必要があります。一方、すべてのテストを1つのテスト関数に入れると、関数ごとに1つのテストと矛盾します。私は何をすべきか?
ここに状況があります:
tst_create()
{
createHead(head);
createBody(body);
createFoot(foot);
}
tst_insert()
{
createHead(head);
createBody(body);
createFoot(foot);
obj_id=insert(obj); //Also I need to delete obj_id somehow in order to preserve old state
}
tst_delete()
{
createHead(head);
createBody(body);
createFoot(foot);
obj_id=insert(obj);
delete(obj_id);
}
vs
tstCreateInsertDelete()
{
createHead(head);
createBody(body);
createFoot(foot);
obj_id=insert(obj);
delete(obj_id);
}