使用 TypeScript + TDD 快速開發的配置

AshtonCotte 8年前發布 | 26K 次閱讀 測試驅動開發 TypeScript

1. 你需要一個好的工具來寫測試

對于大多數開發者來說,都不太喜歡編寫測試。當你在編寫測試的周期的時候,能有一個快速的效應時間,那么這件事將變得更容易。結合一個好的測試框架你會有一個更好的開始。

測試驅動開發(TDD, Test-driven development)是一種你編寫單元測試和應用程序代碼的軟件開發方法。典型的就是寫一個空的根方法,創建一個失敗的測試來驗證不存在的程序邏輯,直到全部的程序邏輯測試都變成綠色。最后,在你 push 你的提交前重構你的代碼。

讓我們創建一個基于 TypeScript 的 TDD 配置。

2. 立即運行,并且只顯示失敗的結果

大量的 IDE 都支持單元測試和測試驅動開發,但是大多數開發者使用文本編輯器編寫 JavaScript。我們需要一個命令行的方式去創建一個快速的 TDD 配置。

它應該是:

  1. 改變的時候立即運行測試,因此我們只需要在保存文件的時候啟動測試;
  2. 它應該只顯示失敗測試結果,因為我們的屏幕不是特別大,不能顯示 100 個成功的測試(虛詞)。

還有一個需要我們也關心的地方,如果在運行測試之前沒有通過,這時候又開始一個新的測試,我們就需要停止前一個測試。這是 grunt + mocha 不能處理的。

3. 使用 TypeScript 建立快速的 TDD

我們需要的配置如下:

  1. 它需要工作在命令行;
  2. 能夠 watch 文件的改變;
  3. 編譯 TypeScript 和 運行測試用例;
  4. 前一個沒通過的測試將被停止;
  5. 只顯示失敗的測試結果。

使用一個 gaze-run-interrupt 的 npm 包來 watch 文件的改變,并且出發一系列命令,也能 kill 前面的序列。還將使用 Mocha 和它的 min-reporter 功能來顯示失敗的測試。

配置步驟

  1. 在你的 package.json 文件中添加 gaze-run-interrupt 開發依賴( devDependency
  2. 在你的項目結構中,加入一個 tdd 文件,并且給它執行權限。
#!/usr/bin/env node

var gaze_run_interrupt = require('gaze-run-interrupt');

gaze_run_interrupt('{src,test}/**/*.ts', [{
  command: 'node_modules/.bin/tsc'
}, {
  command: '../../node_modules/.bin/mocha',
  args: ['--reporter', 'min'],
  cwd: 'dist/js'
}]);
  1. 執行 TDD
./tdd

開始寫高質量的代碼-伴隨測試。

 

來自:http://www.zcfy.cc/article/fast-tdd-setup-for-typescript-1580.html

 

 本文由用戶 AshtonCotte 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!