针对数据库的集成测试-AVA

法布里佐·费诺格里奥

编写单元测试后,我将面对集成测试,该测试包括针对数据库(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', assignee_id: _.sample(users).id},
    {title: 'My task3', description: 'My duty3', assignee_id: _.sample(users).id},
  ]);
});

test.afterEach(async (t) => {
  return await DB.clearDB();
});

我被迫使用串行功能来允许每个测试以串行方式完成并清除数据库。

如果测试同时共享相同的数据,我的测试可能会更新或删除可能导致误报的数据。

如果我正在写的测试只是读取数据,我只是做播种和一样清洁的操作prepost脚本在问题中提到#311,并保持测试并行。

我还发现使用t.context和将用户/任务对象传递到我的测试中的方法非常好

是这种情况吗,我们被迫使用串行测试执行的情况很少?

您将如何使用ava处理这类测试?

马克·乌本

是的,test.serial就是为了这个。

或者,如果您可以对每个测试使用不同的数据库,从而可以并行运行它们。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

用 ava 测试 promise

来自分类Dev

Ava在addEventListener()上测试setTimeout()

来自分类Dev

AVA测试设置:“意外的令牌导出”

来自分类Dev

AVA + React-Native的测试配置

来自分类Dev

获取在AVA中运行的并发测试数

来自分类Dev

AVA测试设置:“意外的令牌导出”

来自分类Dev

在 AVA 测试中找不到模块

来自分类Dev

如何使用AVA和Mongoose运行并行测试

来自分类Dev

访问全局变量时AVA测试失败

来自分类Dev

如何针对数据文件测试/验证jdbc加载的数据库表?

来自分类Dev

为什么Atom,VSCode或Ava使用不止一种持续集成服务?

来自分类Dev

Ava 使用承诺测试图像加载:测试返回的承诺从未解决

来自分类Dev

如何使用AVA框架基于某些条件(例如环境变量)跳过测试执行

来自分类Dev

ava测试运行程序写入EPIPE和ECONNRESET错误

来自分类Dev

使用 Create React App Boilerplate 设置 AVA 测试运行器

来自分类Dev

测试在没有运行任何断言的情况下完成(ava-nodejs)

来自分类Dev

针对数据库的EF模型验证

来自分类Dev

针对数据库的EF模型验证

来自分类Dev

带Appcompat库v7的ActionBar(ava.lang.IllegalStateException:您需要使用Theme.AppCompat主题)

来自分类Dev

ava:SyntaxError:意外的令牌导入

来自分类Dev

未处理的承诺拒绝AVA

来自分类Dev

您如何针对测试数据库运行放心的?

来自分类Dev

Visual Studio Online中的数据库集成测试

来自分类Dev

设置数据库-使用Jasmine / Jest进行集成测试

来自分类Dev

加速命中真实SQL Server数据库的集成测试

来自分类Dev

依赖于数据库视图的集成测试

来自分类Dev

Spring MVC和Mongo(nosql)针对数据库形成用户登录示例

来自分类Dev

针对数据库写连接的雄辩的预加载关系

来自分类Dev

针对数据库表中的多个ID插入多个值

Related 相关文章

  1. 1

    用 ava 测试 promise

  2. 2

    Ava在addEventListener()上测试setTimeout()

  3. 3

    AVA测试设置:“意外的令牌导出”

  4. 4

    AVA + React-Native的测试配置

  5. 5

    获取在AVA中运行的并发测试数

  6. 6

    AVA测试设置:“意外的令牌导出”

  7. 7

    在 AVA 测试中找不到模块

  8. 8

    如何使用AVA和Mongoose运行并行测试

  9. 9

    访问全局变量时AVA测试失败

  10. 10

    如何针对数据文件测试/验证jdbc加载的数据库表?

  11. 11

    为什么Atom,VSCode或Ava使用不止一种持续集成服务?

  12. 12

    Ava 使用承诺测试图像加载:测试返回的承诺从未解决

  13. 13

    如何使用AVA框架基于某些条件(例如环境变量)跳过测试执行

  14. 14

    ava测试运行程序写入EPIPE和ECONNRESET错误

  15. 15

    使用 Create React App Boilerplate 设置 AVA 测试运行器

  16. 16

    测试在没有运行任何断言的情况下完成(ava-nodejs)

  17. 17

    针对数据库的EF模型验证

  18. 18

    针对数据库的EF模型验证

  19. 19

    带Appcompat库v7的ActionBar(ava.lang.IllegalStateException:您需要使用Theme.AppCompat主题)

  20. 20

    ava:SyntaxError:意外的令牌导入

  21. 21

    未处理的承诺拒绝AVA

  22. 22

    您如何针对测试数据库运行放心的?

  23. 23

    Visual Studio Online中的数据库集成测试

  24. 24

    设置数据库-使用Jasmine / Jest进行集成测试

  25. 25

    加速命中真实SQL Server数据库的集成测试

  26. 26

    依赖于数据库视图的集成测试

  27. 27

    Spring MVC和Mongo(nosql)针对数据库形成用户登录示例

  28. 28

    针对数据库写连接的雄辩的预加载关系

  29. 29

    针对数据库表中的多个ID插入多个值

热门标签

归档