2012-08-29 67 views
5

我正在使用mocha來測試我的node.js應用程序。如何組織我的規格文件?

我注意到隨着時間的推移,我的規格文件變得越來越大。是否有任何模式來組織測試文件(例如,每個測試有一個規格文件)?或者在摩卡上有其他框架來幫助我構建測試嗎?或者你是否因爲這個原因而提供其他測試框架?

回答

1

大型測試/規格文件往往意味着被測試代碼可能做得太多。然而,情況並非總是如此,通常你的測試代碼總是會對被測代碼進行權衡,但是如果你發現它們很難管理,這可能是一個標誌。

我傾向於根據功能對測試進行分組。想象一下,如果我們有example.js,我預計example.tests.js開始。

而不是一個稱爲ExampleSpec的規範我傾向於有許多基於不同上下文的規格/測試。例如,我可能有EmptyExampleErrorExampleDefaultExample,它們有不同的前提條件。如果這些變得太大,你或者缺少抽象,或者應該考慮將文件拆分出來。所以,你可以結束了一個目錄結構如:

 
    specs/ 
     Example/ 
      EmptyExample.js 
      ErrorExample.js 
      DefaultExample.js 

首先,雖然,每生產一個文件測試/ spec文件應該是起點。只有需要時才分開。

+0

那我該如何運行它?我想'摩卡testAll.js'。 testAll.js將包含所有的子測試。我如何實現這一目標? –

+0

關於如何包含子測試,我有同樣的問題。到目前爲止,它看起來像你需要摩卡並以編程方式使用它,以包含其他測試而不會破壞事物。無論是或者使用 - 在命令行上遞歸來獲取所有文件。 –

+0

@ NicolasS.Xu確實延遲了回覆,但是您的所有規格可能(應該?)都是commonjs模塊,您需要在子文件夾級別的index.js中調用您的規範。它與npm腳本結合使用效果很好。 –