引言git
BDD是對TDD理念的擴展。BDD強調有利害關係的技術團體和非技術團隊都要參與到軟件開發過程當中。能夠把它當作一種強調團體間合做的敏捷方法。大多數採用某種敏捷方法的團隊最終都會遵循BDD的許多原則。在編寫單元測試的時候,儘可能使用BDD風格爲測試命名。BDD風格強調使用完整的、描述性的、便於業務用戶理解的名稱或術語,避免使用技術術語。BDD但願類、方法和變量的名稱儘量地反映平常用語。github
1、開發環境和工具工具
1.1 Visual Studio 2013單元測試
1.2 Resharp 10.0.2 或以上版本測試
1.3 SpecFlow加密
Visual Studio菜單中工具->擴展和更新。spa
Nuget3d
2、需求blog
輸入一段明文,用Des的加密方式加密成密文。開發
輸入一段密文,用Des的解密方式解密成明文。
3、代碼結構
4、添加情景或功能文件
修改情景
5、編寫測試代碼
6、運行測試代碼
建議先編譯代碼再運行。
測試理所固然的失敗了,由於尚未實現功能。
7、編寫代碼實現功能
測試經過
以相似的方式實現解密的需求。
8、添加需求
輸入空字符串時,用Des加密,應返回空字符串。
輸入null時,用Des的加密,應拋出ArgumentNullException。
9、添加新的情景
10、編寫新的測試代碼
11、再次運行測試代碼
加密空字符串時,沒有返回空字符串,不符合預期。
加密null時,拋出了ArgumentNullException,符合預期。
12、調整代碼使加密空字符串知足需求
十3、源碼
https://github.com/ErikXu/SimpleBDD
十4、本人Github
https://github.com/ErikXu
最近想把本身的Github經營起來,歡迎你們多交流。