2017-03-17 123 views

回答

3

我認爲文檔也不完全清楚,但我最終發現並設置了它。方法如下:

在Index.html中包含Mocha腳本和CSS。還包括一個ID爲「Mocha」的div,用於插入輸出。包含您想要執行的測試腳本。

<link href="lib/mocha/mocha.css" rel="stylesheet" /> 
<script src="lib/mocha/mocha.js"></script> 
<script src="test/my_mocha_test.js"></script> 
<div id="mocha"></div> 

在您的測試文件(在這個例子中my_mocha_test.js)在頂部包含這個設置行:

// 'bdd' stands for "browser driven development" 
mocha.setup('bdd'); 
與測試和摩卡內容的所有加載

現在,你可以運行測試用這個命令:

mocha.run(); 

您可以添加事件監聽並觸發其上的按鈕推或其他事件,或者你可以從控制檯運行它,但它應該把測試輸出在迪v與「摩卡」身份證。下面是這一切的網頁設置了代碼可見在GitHub爲您

https://captainstack.github.io/public-stackhouse/

+0

如何在'test'目錄中包含所有內容,並且它是遞歸的子目錄? –

+0

啊,我不知道有一種方法可以做到這一點。你可以用RequireJS之類的東西來做,並用import語句來做。 –

+0

以下是一些可能有所幫助的鏈接: http://stackoverflow.com/questions/4175008/how-can-i-include-all-javascript-files-in-a-directory-via-javascript-file http://stackoverflow.com/questions/24097146/include-all-javascript-files-in-a-directory-to-a-html-file-in-angularjs-with-gr –

11

如果我們需要在瀏覽器中運行的測試中,我們需要建立一個簡單的HTML頁面是我們的測試運行頁。該頁面加載Mocha,測試庫和我們的實際測試文件。要運行測試,我們只需在瀏覽器中打開運行器。

例如HTML代碼:

<!DOCTYPE html> 
<html> 
    <head> 
    <title>Mocha Tests</title> 
    <link rel="stylesheet" href="node_modules/mocha/mocha.css"> 
    </head> 
    <body> 
    <div id="mocha"></div> 
    <script src="node_modules/mocha/mocha.js"></script> 
    <script src="node_modules/chai/chai.js"></script> 
    <script>mocha.setup('bdd')</script> 

    <!-- load code you want to test here --> 

    <!-- load your test files here --> 

    <script> 
     mocha.run(); 
    </script> 
    </body> 
</html> 

建立一個目錄結構

你應該把你的測試在一個單獨的目錄從主代碼文件。這使得構建它們變得更加容易,例如,如果您希望在將來添加其他類型的測試(例如集成測試或功能測試),那麼可以更容易。

JavaScript代碼最流行的做法是在項目的根目錄中有一個名爲test /的目錄。然後,每個測試文件被放置在測試/ someModuleTest.js下。

重要的事情:

  • 我們裝載摩卡的CSS樣式給我們的測試結果很好的格式。
  • 我們用ID摩卡創建一個div。這是插入測試結果 的地方。
  • 我們加載摩卡和柴。它們位於 node_modules文件夾的子文件夾中,因爲我們通過npm安裝它們。
  • 通過調用mocha.setup,我們讓Mocha的測試助手可用。
  • 然後,我們加載我們想要測試的代碼和測試文件。我們不在 這裏有任何東西。
  • 最後,我們調用mocha.run來運行測試。請確保在加載源文件和測試文件後調用
+0

這是不可理解的。我一直在努力工作數週。 –

+0

'/ node_modules'中沒有Chai,猜測它並不總是默認安裝。 – Taurus

相關問題