5
我正在使用mocha來測試我的node.js應用程序。如何組織我的規格文件?
我注意到隨着時間的推移,我的規格文件變得越來越大。是否有任何模式來組織測試文件(例如,每個測試有一個規格文件)?或者在摩卡上有其他框架來幫助我構建測試嗎?或者你是否因爲這個原因而提供其他測試框架?
我正在使用mocha來測試我的node.js應用程序。如何組織我的規格文件?
我注意到隨着時間的推移,我的規格文件變得越來越大。是否有任何模式來組織測試文件(例如,每個測試有一個規格文件)?或者在摩卡上有其他框架來幫助我構建測試嗎?或者你是否因爲這個原因而提供其他測試框架?
大型測試/規格文件往往意味着被測試代碼可能做得太多。然而,情況並非總是如此,通常你的測試代碼總是會對被測代碼進行權衡,但是如果你發現它們很難管理,這可能是一個標誌。
我傾向於根據功能對測試進行分組。想象一下,如果我們有example.js
,我預計example.tests.js
開始。
而不是一個稱爲ExampleSpec
的規範我傾向於有許多基於不同上下文的規格/測試。例如,我可能有EmptyExample
,ErrorExample
和DefaultExample
,它們有不同的前提條件。如果這些變得太大,你或者缺少抽象,或者應該考慮將文件拆分出來。所以,你可以結束了一個目錄結構如:
specs/ Example/ EmptyExample.js ErrorExample.js DefaultExample.js
首先,雖然,每生產一個文件測試/ spec文件應該是起點。只有需要時才分開。
那我該如何運行它?我想'摩卡testAll.js'。 testAll.js將包含所有的子測試。我如何實現這一目標? –
關於如何包含子測試,我有同樣的問題。到目前爲止,它看起來像你需要摩卡並以編程方式使用它,以包含其他測試而不會破壞事物。無論是或者使用 - 在命令行上遞歸來獲取所有文件。 –
@ NicolasS.Xu確實延遲了回覆,但是您的所有規格可能(應該?)都是commonjs模塊,您需要在子文件夾級別的index.js中調用您的規範。它與npm腳本結合使用效果很好。 –