documentation for Sails 0.12.11解释了如何使用Mocha框架设置测试。我想用Jest做到这一点。
我尝试使用bootstrap.test.js
的相同代码,但将before
替换为beforeAll
,将after
替换为afterAll
;将this.timeout(5000)
替换为jasmine.DEFAULT_TIMEOUT_INTERVAL = 5000
。因为Jest希望在一个文件中至少进行一次测试,所以我在那里做了一个虚拟测试以确保它没有抱怨。
然后,在另一个文件(some.test.js
)中,我尝试引用我创建的虚拟服务,以查看是否有效。使用Mocha,默认情况下,任何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
答案 0 :(得分:3)
Jest似乎非常适合测试风帆。
Jest哲学是让许多测试与独立状态同时运行,这意味着jest无法使用全局设置文件。
使用风帆的jest意味着:
每次测试都会启动一个sails实例,如果你进行了很多测试,可能会感到内存不足。
自定义其orm(水线),以便为每个测试实例使用数据库的随机文件来完成清理状态。
现在你可能会认为帆是错的,可以从创业公司那里获得,以支持那种测试开玩笑。
答案 1 :(得分:1)
我希望这仍然相关。
我不会骗你。这并不容易:(。它花了我一整天,但毕竟我能够配置
检查repo中的一切是如何运作的,如果您有任何疑问,请随时与我联系。