引言
BDD是對TDD理念的擴展。BDD強調有利害關系的技術團體和非技術團隊都要參與到軟件開發過程中。可以把它看成一種強調團體間合作的敏捷方法。大多數采用某種敏捷方法的團隊最終都會遵循BDD的許多原則。在編寫單元測試的時候,盡量使用BDD風格為測試命名。BDD風格強調使用完整的、描述性的、便於業務用戶理解的名稱或術語,避免使用技術術語。BDD希望類、方法和變量的名稱盡可能地反映日常用語。
一、開發環境和工具
1.1 Visual Studio 2013
1.2 Resharp 10.0.2 或以上版本
1.3 SpecFlow
Visual Studio菜單中工具->擴展和更新。
Nuget
二、需求
輸入一段明文,用Des的加密方式加密成密文。
輸入一段密文,用Des的解密方式解密成明文。
三、代碼結構
四、添加情景或功能文件
修改情景
五、編寫測試代碼
六、運行測試代碼
建議先編譯代碼再運行。
測試理所當然的失敗了,因為還沒有實現功能。
七、編寫代碼實現功能
測試通過
以類似的方式實現解密的需求。
八、添加需求
輸入空字符串時,用Des加密,應返回空字符串。
輸入null時,用Des的加密,應拋出ArgumentNullException。
九、添加新的情景
十、編寫新的測試代碼
十一、再次運行測試代碼
加密空字符串時,沒有返回空字符串,不符合預期。
加密null時,拋出了ArgumentNullException,符合預期。
十二、調整代碼使加密空字符串滿足需求
十三、源碼
https://github.com/ErikXu/SimpleBDD
十四、本人Github
https://github.com/ErikXu
最近想把自己的Github經營起來,歡迎大家多交流。