我是测试驱动开发的新手,我第一次尝试在一个简单的项目中使用它. 我有一个类,我需要测试这个类的对象的创建,插入和删除.如果我写三个单独的测试函数,我需要在其他函数中复制初始
我有一个类,我需要测试这个类的对象的创建,插入和删除.如果我写三个单独的测试函数,我需要在其他函数中复制初始化代码.如果我将所有测试放在一个测试函数中,那么它与每个函数的一个测试相矛盾.我该怎么办?
这里的情况:
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);
}
将测试中的重复因素排除在外.
根据您的测试框架,可能支持定义在每次测试执行之前调用的设置方法以及在每次测试之后调用的拆卸方法.
无论如何,您可以提取常见内容,这样您只需重复调用单个共享设置即可.
如果您告诉我们您使用的语言和测试框架,我们可能会提供更具体的建议.
