2017-07-17 73 views
0

documentation for Sails 0.12.11解释了如何使用Mocha框架设置测试。我想用Jest来做到这一点。如何使用Jest而不是Mocha测试Sails.js应用程序?

我使用相同的代码用于bootstrap.test.js,但与beforeAllafterafterAll替换before尝试;用jasmine.DEFAULT_TIMEOUT_INTERVAL = 5000代替this.timeout(5000)。因为杰斯希望文件中至少有一个测试,所以我在那里做了一个虚拟测试,以确保它没有抱怨。

然后,在另一个文件(some.test.js)中,我尝试引用一个我创建的虚拟服务来查看是否有效。有了Mocha,任何Sails服务都应该默认提供,不需要任何声明。

it('should call the dummy service fine',() => { 
    expect(DummyService.doSomething()).toBe('ok'); 
}); 

在与jest tests/*运行测试,我遇到以下日志:

Sails console.error using Jest

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

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

    ReferenceError: DummyService is not defined 

回答

0

我希望这仍然是相关的。

我不会骗你。这是不容易:(我花了一整天,但毕竟我是能够配置

  1. Eslint
  2. 更漂亮
  3. 玩笑

如何检查一切工作在我的repo,如果您有任何疑问,请随时与我联系。

https://github.com/tugorez/sails-jest

+1

有趣的方法。只是好奇:用“setupTestFrameworkScriptFile”:“/jest/setup。js“',不会有Sails提升多少次测试文件?这是我的问题,如果我有10个测试文件,它会提升Sails 10次,不是真的想要... – nbkhope

+0

Hi @nbkhope。到[官方文档](https://facebook.github.io/jest/docs/api.html#beforeallfn),答案是否定的,它在所有测试之前只运行一次,是否有任何相关问题? –

+0

是错误的,根据官方文档“在每次测试**之前运行一些代码来配置或设置测试框架的模块的路径**”。[来源](https://facebook.github.io/ jest/docs/en/configuration.html#setuptestframeworkscriptfile-string) –

1

Jest似乎很适合测试帆。

最激烈的哲学是有许多测试与独立状态同时运行,这意味着jest无法使用全局设置文件。

为帆用玩笑就意味着:

  • 开始每次测试帆,如果你有很多的测试,可能是内存饥饿的一个实例。

  • 自定义其orm(水线),以便它为每个测试实例使用数据库的随机文件来完成清理状态。

现在你可能会争辩说,sails是否做错了,可以从启动支持测试jest促进类型。

相关问题