微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

单元测试 – TDD重复测试数据

我是测试驱动开发的新手,我第一次尝试在一个简单的项目中使用它.

我有一个类,我需要测试这个类的对象的创建,插入和删除.如果我写三个单独的测试函数,我需要在其他函数中复制初始化代码.如果我将所有测试放在一个测试函数中,那么它与每个函数一个测试相矛盾.我该怎么办?

这里的情况:

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);
}

解决方法

将测试中的重复因素排除在外.

根据您的测试框架,可能支持定义在每次测试执行之前调用设置方法以及在每次测试之后调用的拆卸方法.

无论如何,您可以提取常见内容,这样您只需重复调用单个共享设置即可.

如果您告诉我们您使用的语言和测试框架,我们可能会提供更具体的建议.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐