繁体   English   中英

事务查询已经完成,使用 DEBUG=knex:tx 运行

[英]Transaction query already complete, run with DEBUG=knex:tx

当我使用 japa 测试运行器 adonisJs 5 时,我的测试失败并出现此错误:

× Uncaught exception

   Transaction query already complete, run with DEBUG=knex:tx for more info


     1  completedError
       node_modules/knex/lib/execution/transaction.js:396

     2  anonymous
       node_modules/knex/lib/execution/transaction.js:362

     3  Client_MySQL2.trxClient.query
       node_modules/knex/lib/execution/transaction.js:358

     4  Runner.query
       node_modules/knex/lib/execution/runner.js:123

     5  ensureConnectionCallback
       node_modules/knex/lib/execution/internal/ensure-connection-callback.js:13

     6  Runner.ensureConnection
       node_modules/knex/lib/execution/runner.js:300

     7  Runner.run
       node_modules/knex/lib/execution/runner.js:30

     8  QueryRunner.executeQuery
       node_modules/@adonisjs/lucid/build/src/QueryRunner/index.js:78

我不知道为什么我在某些我不知道的测试中会出现此错误

日本测试亚军 adonisJs 5

我遇到了同样的问题,对我来说问题是在我的一个断言中返回 promise 的数据库调用中缺少等待

所以当返回响应时,测试套件中的全局事务已经回滚

一旦我添加了等待,错误就解决了,所以我建议你仔细检查你的测试中你可能没有等待响应的任何异步调用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM