对数据库进行集成测试 – AVA
发布时间:2020-12-12 08:42:27 所属栏目:MsSql教程 来源:网络整理
导读:在编写单元测试后,我面临着集成测试,其中包括测试库对数据库(rethinkdb)的影响. 每个测试用例必须彼此独立,每次测试后数据库将被清除,这样它们就不会产生误报. 由于AVA架构是并行运行测试,我发现我无法以这种方式实现积极的测试.例如: test.beforeEach(async
在编写单元测试后,我面临着集成测试,其中包括测试库对数据库(rethinkdb)的影响.
每个测试用例必须彼此独立,每次测试后数据库将被清除,这样它们就不会产生误报. 由于AVA架构是并行运行测试,我发现我无法以这种方式实现积极的测试.例如: test.beforeEach(async function(t) { const users = t.context.users = await DB.models.User.save([ {name: 'jhon',username: 'doe'},{name: 'fabri',username: 'fenos'},{name: 'will',username: 'red'},{name: 'smith',username: 'blue'},{name: 'paul',username: 'orange'},{name: 'tesla',username: 'ele'},]); t.context.tasks = await DB.models.Task.save([ {title: 'My task1',description: 'My duty1',assignee_id: _.sample(users).id},{title: 'My task2',description: 'My duty2',{title: 'My task3',description: 'My duty3',]); }); test.afterEach(async (t) => { return await DB.clearDB(); }); 我被迫使用串行功能来允许每次测试完成并以串行方式清除数据块. 我的测试可能会更新或删除数据,如果测试在同一时间共享相同的数据,可能会导致误报. 如果我正在写的测试只是读取数据,我可以按照#311号问题中提到的前脚本和后脚本进行播种和清理操作,并保持并行测试. 我也发现非常好,我可以使用t.context的方式将用户/任务对象传递到我的测试中. 这是一个,我们被迫使用串行测试执行的罕见情况? 你如何使用ava来处理这种测试? 解决方法是的,test.serial是为了这个.或者,如果您可以对每个测试使用不同的数据库,以允许并行运行它们. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 用户"sa"登陆失败 SQLServer 错误18456的
- SQL Server误区30日谈 第5天 AWE在64位SQL SERVER中必须开启
- SQL Server 错误602,未能在sysindexes中找到数据库 的解决办
- SQL Server切割字符串SplitString函数的简单示例
- 如何判断Sql agent job 是否执行完成
- sql – 如何在MS Access中正确使用“Not Equal”?
- SqlServer数据库同步数据处理方案
- Sql server 2005安装时ASP.Net版本注册要求警告的解决方法
- sql-server – 触发更新另一个sql server上的数据
- PDF.NET 开发框架