2016-01-07 172 views
4

這是我的文件夾結構摩卡沒有運行測試目錄中的所有測試

src/ 
    a.js 
    b.js 
    test/ 
    a.spec.js 
    b.spec.js 

,我已經嘗試運行

  1. ~/.../src $ mocha
  2. ~/.../src $ mocha test
  3. ~/.../src $ mocha test/
  4. ~/.../src $ mocha ./test/
  5. ~/.../src $ mocha ./test/*.js

但非工作......我得到的只是一個測試文件運行,其餘的被忽略。

docs說,(1)應該做的工作,但它沒有。

回答

9

呃......我是個白癡。我在其中一個文件中有it.only,我忘了它。刪除.only就是答案。所有的測試文件現在都在運行。

對不起的是,可恥的是我......

+1

我相信這幫助了像我這樣的其他白癡:-D –

6

它是這樣構建的,所以如果你正在開發它們,你可以在一兩個文件上運行你的測試套件。如果要在整個項目中運行mocha,只需指定--recursive

您可以看到一些文檔here

更好的是,你可以在你的package.json中爲CD指定它。首先做npm install mocha --save-dev,然後把它放進你的package.json文件,然後運行npm test

{ 
 
    "scripts": { 
 
    "test": "./node_modules/.bin/mocha --recursive", 
 
    } 
 
}

+0

'--recursive'是在子文件夾運行測試文件,但不是我的情況。輸出保持不變,只使用一個文件。 –

-2

測試目錄下創建一個moch.opts文件,並添加遞歸選項

--recursive

運行〜/.../ src $ mocha命令;它應該工作。