本節咱們將學習一些測試驅動開發環境的搭建,測試驅動開發概念和流程。所涉及的內容所有會以截圖的形式貼出來,若是你也感興趣,能夠一步一步的跟着來作,若是你有任何問題,能夠進行留言,我也會很高興的爲你答疑。php
Visual Studio(什麼版本都無所謂),NUnit工具
從NUnit官網下載最新版本的NUnit,地址爲http://www.nunit.org/index.php?p=download,下載這個msi,而後進行安裝,直接下一步搞定。學習
首先,在VS中新建項目==》添加項目==》在模板裏選擇其餘項目類型==》VS解決方案==》空白解決方案,而後命名爲MyFirstTdd,以下圖。測試
而後,在新建的解決方案上面,新建項目,添加一個類庫Tdd.TicTacToe.Model。spa
添加完成後,繼續添加Tdd.TicTacToe.ModelTests類庫。htm
在解決方案上面點擊右鍵,會出現「在文件資源管理器中打開文件夾」,打開文件夾後,在文件夾裏新建一個文件夾,命名爲lib。而後從從開始安裝NUnit的文件夾中,把nunit.framework.dll(找到你剛剛安裝NUnit的目錄,個人是在C:\Program Files (x86)\NUnit 2.6.4\bin\framework文件夾裏),複製到剛纔新建的lib文件夾裏。blog
繼續在VS右鍵==》添加==》新建解決方案文件夾,命名爲lib,在lib解決方案文件夾裏添加現有項,把剛剛lib文件夾裏的nunit.framework.dll給添加上。遊戲
在Tdd.TicTacToe.ModelTests的引用上面右鍵,添加剛剛的unit.framework.dll和對Tdd.TicTacToe.Model的引用。圖片
OK,到這一步,那整個NUnit的引用已經所有完成了,若是你的解決方案是和我下面的同樣,那麼恭喜你,能夠進入下一步了,若是不同,請檢查你的步驟,有什麼問題能夠留言。資源
如今咱們在使用TDD以前,咱們對TDD的一些基礎知識和流程進行了解。
3A模板相似管理學中的PDCA的管理思想同樣,作事以前,先進行準備好測試的環境(Arrange),對所準備好的測試的方法進行執行(Act),對測試結果和原計劃的結果進行比較,看是否一致(Assert).
我記得當初看C#書籍的時候,看到過Assert這個單詞,但是歷來都沒有用戶,那如今你終於有機會用到這個單詞了,並且它還有不少靜態方法,你們先了解一下。
《論語·學而》裏有這麼一句話,「吾日三省吾身,爲人謀而不忠乎?與朋友交而不信乎?傳不習乎?」,大白話就是「我天天屢次檢討本身的言行,替人家謀劃的事不全力以赴嗎?和朋友交往不誠心誠意嗎?傳授給別人的道理有沒有那樣去作呢?」,對TDD也是這樣,每次測試的時候,你都要考慮,如何讓你的程序錯的給改正確,正確的考慮還能不能更好。
在Tdd.TicTacToe.ModelTests裏添加一個類,命名爲SimpleTest,而後添加下面的代碼定義。
保存後,在Tdd.TicTacToe.ModelTests右鍵從新編譯,而後再開始菜單裏打開剛剛安裝的NUnit,文件==》打開項目,找到編譯好的Tdd.TicTacToe.ModelTests.dll,個人是在MyFirstTdd\Tdd.TicTacToe.ModelTests\bin\Debug文件夾下。加載後,進行Run一下,而後你就會看到紅紅的叉叉,測試沒經過,你知道緣由了沒。
看看提示
Tdd.TicTacToe.ModelTests.SimpleTest.My_First_NUnit_Test:
Expected: 3
But was: 4
預期爲結果爲3,實際獲得的結果爲4,因此這個時候咱們回去修改一下咱們的程序,把3+1改爲2+1,或者改爲1+2,3+0,從新生成,從新Run一下,恭喜你,變爲全綠了,成功了。
今天就寫這些,這個系列我還會繼續寫下去,接下來,我會用TDD來完整的開發一個完整的小遊戲,以便你們能更深入的理解TDD的開發模式,敬請期待,若是你以爲我這篇文章寫得好,請點擊推薦按鈕推薦一下吧。