2017-07-17 54 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促進類型。

相關問題