如何使用Jest而不是Mocha测试Sails.js应用程序?

如何使用Jest而不是Mocha测试Sails.js应用程序?,sails.js,jestjs,Sails.js,Jestjs,说明了如何使用Mocha框架设置测试。我想用笑话来做那件事 我尝试对bootstrap.test.js使用相同的代码,但用beforeAll替换beforeAll,用afterAll替换beforeAll;将this.timeout5000替换为jasmine.DEFAULT\u TIMEOUT\u INTERVAL=5000。因为Jest希望一个文件中至少有一个测试,所以我在那里做了一个虚拟测试,以确保它不会抱怨 然后,在另一个文件some.test.js中,我试图引用我创建的一个虚拟服务,只

说明了如何使用Mocha框架设置测试。我想用笑话来做那件事

我尝试对bootstrap.test.js使用相同的代码,但用beforeAll替换beforeAll,用afterAll替换beforeAll;将this.timeout5000替换为jasmine.DEFAULT\u TIMEOUT\u INTERVAL=5000。因为Jest希望一个文件中至少有一个测试,所以我在那里做了一个虚拟测试,以确保它不会抱怨

然后,在另一个文件some.test.js中,我试图引用我创建的一个虚拟服务,只是为了看看它是否工作。有了摩卡,任何Sails服务在默认情况下都应该可用,无需任何require声明

it('should call the dummy service fine', () => {
  expect(DummyService.doSomething()).toBe('ok');
});
在使用jest tests/*运行测试时,我遇到以下日志:

此外,虚拟服务测试失败,因为它说它没有定义

 FAIL  tests/some.test.js
  ● should call the dummy service fine

    ReferenceError: DummyService is not defined

我希望这仍然是相关的

我不会骗你的。这并不容易。我花了一整天的时间,但毕竟我能够配置

埃斯林特 漂亮的 开玩笑 请检查我的系统中的所有工作方式,如果您有任何疑问,请随时与我联系


我希望这仍然是相关的

我不会骗你的。这并不容易。我花了一整天的时间,但毕竟我能够配置

埃斯林特 漂亮的 开玩笑 请检查我的系统中的所有工作方式,如果您有任何疑问,请随时与我联系


开玩笑似乎很适合测试帆船

Jest的原理是让许多测试与独立状态同时运行,这意味着Jest无法使用全局设置文件

对风帆开玩笑意味着:

在每个测试中启动一个sails实例,如果您有很多测试,那么这个实例可能会占用大量内存

自定义它的orm水线,以便它为每个测试实例的数据库使用一个随机文件来完成干净状态


现在,您可能会争辩说,sails做得不对,可能是从一开始就做的,以支持jest推广的测试。

jest似乎非常适合测试sails

Jest的原理是让许多测试与独立状态同时运行,这意味着Jest无法使用全局设置文件

对风帆开玩笑意味着:

在每个测试中启动一个sails实例,如果您有很多测试,那么这个实例可能会占用大量内存

自定义它的orm水线,以便它为每个测试实例的数据库使用一个随机文件来完成干净状态


现在,您可能会争辩说,sails做得不对,可能是从初创公司开始制作的,以支持jest promote的测试。

有趣的方法。好奇的是:使用setupTestFrameworkScriptFile:/jest/setup.js,帆的升力不是有测试文件那么多吗?那是我的问题。如果我有10个测试文件,它将扬帆10次,这不是我真正想要的…嗨@nbkhope。因此,答案是否定的。它在所有测试之前只运行一次。您是否有任何相关问题?根据官方文档,这是错误的,该模块在每次测试之前运行一些代码来配置或设置测试框架。。爱德华,你说得对。服务器在每次测试之间升降。我为困惑道歉。我添加了一个我认为更适合这个问题的答案。有趣的方法。好奇的是:使用setupTestFrameworkScriptFile:/jest/setup.js,帆的升力不是有测试文件那么多吗?那是我的问题。如果我有10个测试文件,它将扬帆10次,这不是我真正想要的…嗨@nbkhope。因此,答案是否定的。它在所有测试之前只运行一次。您是否有任何相关问题?根据官方文档,这是错误的,该模块在每次测试之前运行一些代码来配置或设置测试框架。。爱德华,你说得对。服务器在每次测试之间升降。我为我的困惑道歉。我添加了一个我认为更适合这个问题的答案。