寫在前面:前端
在git上面clone一些項目的時候總是能夠看到一些測試文件,因而就學習了一下TDD;react
TDD —— Test-Drive Development是測試驅動開發的意思,是敏捷開發中的一項核心實踐和技術,也是一種測試方法論。TDD的原理是在開發功能代碼以前,先編寫單元測試用例代碼,測試代碼肯定須要編寫什麼產品代碼 —— 引自百度百科,(當全部的測試用例經過了,就說明你的組件完成了)。webpack
實現的過程 —— 當修改組件代碼的時候,自動觸發,執行測試用例,實時反映結果。筆者爲了「自動」兩個字,去學習了前端自動化工具 gulp 跟 grunt 的區別,也進一步學習了grunt的使用,而後發現測試包 mocha 已經包括了自動觸發的功能(--watch參數)。git
注意:本文應該屬於開發測試階段的內容,並不深刻測試方向(什麼集成測試,單元測試,跨瀏覽器測試,並無去學習)。es6
代碼:https://github.com/miaowwwww/tdd-domegithub
不使用前端自動化工具:grunt && gulp,直接使用mocha(--watch)web
學習前提: mocha, enzyme(react-addons-test-utils), chai,gulp
坑:1. mocha默認不是認識es6, 須要配置 --compilers瀏覽器
2. .babelrc文件 —— 在webpack中工做,項目代碼由babel-loader實現轉碼,而且在webpack.config.js裏面配置babel:options, 然而mocha並無babel:options。babel
所以,筆者在這裏吃了大虧,解釋es6,不成功,還無提示語言。簡直要命了。所以須要加上.babelrc文件。
展現圖: