在docker中进行Jest异步测试计时

时间:2018-02-16 09:35:35

标签: node.js docker asynchronous jestjs

我需要一些帮助,在Docker容器中运行Jest测试。请找到我的仓库here(这是现有测试的唯一分支)。我正在运行两个测试,第一个工作正常,第二个在2秒后有一个茉莉花超时错误。现在,如果我完成这些动作,请调用API并点击function我测试一切都很花哨,创建用户并返回用户对象 - 但是测试似乎很快失败了因为它击中了下面。

await internals.checkUserIsUnique(data.email)

我已经尝试在此之上返回true,这会导致测试失败(这是有道理的)但是只要我们遇到异步代码就会结束超时。

FAIL  src/services/tests/users.test.js

  ✓ Tests running (2ms)
  ✕ Creates user (2007ms)

  ● Creates user

Timeout - Async callback was not invoked within the 2000ms timeout specified by jest.setTimeout.

at node_modules/jest-jasmine2/build/queue_runner.js:72:21
at Timeout.callback [as _onTimeout] (node_modules/jsdom/lib/jsdom/browser/Window.js:633:19)

Test Suites: 1 failed, 1 total
Tests:       1 failed, 1 passed, 2 total
Snapshots:   0 total
Time:        3.462s
Ran all test suites.

现在我不确定这个问题是否是由于我在我的实际节点功能中做了一些愚蠢的事情(这不会让我感到惊讶,只是它似乎在测试之外工作)或如果我以某种方式拙劣地设置Jest设置(似乎最合理)或者这个问题实际上来自代码在Docker中运行的事实。任何帮助将不胜感激。

需要进一步的信息,请询问!

修改

根据下面的建议(感谢stijndepestel)我已经在码头工作者之外尝试了这个,同样的问题显然不是这样。不得不指向远程数据库,所以也没有那个连接。

0 个答案:

没有答案