使用 TypeScript + TDD 快速開發的配置
1. 你需要一個好的工具來寫測試
對于大多數開發者來說,都不太喜歡編寫測試。當你在編寫測試的周期的時候,能有一個快速的效應時間,那么這件事將變得更容易。結合一個好的測試框架你會有一個更好的開始。
測試驅動開發(TDD, Test-driven development)是一種你編寫單元測試和應用程序代碼的軟件開發方法。典型的就是寫一個空的根方法,創建一個失敗的測試來驗證不存在的程序邏輯,直到全部的程序邏輯測試都變成綠色。最后,在你 push 你的提交前重構你的代碼。
讓我們創建一個基于 TypeScript 的 TDD 配置。
2. 立即運行,并且只顯示失敗的結果
大量的 IDE 都支持單元測試和測試驅動開發,但是大多數開發者使用文本編輯器編寫 JavaScript。我們需要一個命令行的方式去創建一個快速的 TDD 配置。
它應該是:
- 改變的時候立即運行測試,因此我們只需要在保存文件的時候啟動測試;
- 它應該只顯示失敗測試結果,因為我們的屏幕不是特別大,不能顯示 100 個成功的測試(虛詞)。
還有一個需要我們也關心的地方,如果在運行測試之前沒有通過,這時候又開始一個新的測試,我們就需要停止前一個測試。這是 grunt + mocha 不能處理的。
3. 使用 TypeScript 建立快速的 TDD
我們需要的配置如下:
- 它需要工作在命令行;
- 能夠 watch 文件的改變;
- 編譯 TypeScript 和 運行測試用例;
- 前一個沒通過的測試將被停止;
- 只顯示失敗的測試結果。
使用一個 gaze-run-interrupt 的 npm 包來 watch 文件的改變,并且出發一系列命令,也能 kill 前面的序列。還將使用 Mocha 和它的 min-reporter 功能來顯示失敗的測試。
配置步驟
- 在你的 package.json 文件中添加 gaze-run-interrupt 開發依賴( devDependency )
- 在你的項目結構中,加入一個 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'
}]);
- 執行 TDD
./tdd
開始寫高質量的代碼-伴隨測試。
來自:http://www.zcfy.cc/article/fast-tdd-setup-for-typescript-1580.html
本文由用戶 AshtonCotte 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!