104-C++入門教程系列
阿新 • • 發佈:2020-10-07
此作業的要求參見[https://edu.cnblogs.com/campus/nenu/2020Fall/homework/11243]
2人結對,使用TDD測試框架 (如NUnit, JUnit, cppUnit等)完成本週作業四則運算試題生成的單元測試。
結對夥伴:魏琛
要求1對每個功能,先給出測試用例,然後再編碼功能。請注意把測試用例視為功能需求完成的檢驗指標。 (40分)
功能一、二測試用例:
測試用例 | 執行結果 | 期望結果 |
輸入正確結果 | 答對啦,你真是個天才! | 答對啦,你真是個天才! |
輸入錯誤結果 | 再想想吧,答案似乎是**喔! | 再想想吧,答案似乎是**喔! |
測試共答20題 | 你一共答對**道題,共20道題 | 你一共答對**道題,共20道題 |
功能三、四測試:
測試用例 | 執行結果 | 期望結果 |
f4 -c c | 題目數量必須是 正整數。 | 題目數量必須是 正整數。 |
f4 -c -9 | 題目數量必須是 正整數。 | 題目數量必須是 正整數。 |
f4 -c 2 | "精美" 列印輸出 | "精美" 列印輸出 |
f4 -c 3.1 | 題目數量必須是 正整數。 | 題目數量必須是 正整數。 |
功能一程式碼:
def test_f4_answer(self): print("_f4_answer函式單元測試開始:") _eq = input("輸入一個四則運算:") _eq_ans= input("輸入一個正確的答案:") self.assertEqual(_eq_ans ,f4()._f4_answer(eq = _eq)) print("_f4_answer函式單元測試結束。") print("OK")
功能二程式碼:
def test_f4_input(self): print("_f4_input函式單元測試開始:") self.assertEqual(0,f4()._f4_input()) print("_f4_input函式單元測試結束。") print("OK")
功能三四程式碼:
def test_f4_integer_parser(self):print("_f4_integer_parser函式單元測試開始:") x = input("輸入命令列引數:") self.assertEqual(0,f4()._f4_integer_parser(x)) print("_f4_integer_parser函式單元測試結束。") print("OK")
要求2在部落格報告測試用例全部fail 到 全部pass 的過程,報告事實 (fail到修改程式碼或者測試用例,到pass) 以及收穫。 除了最初的框架,測試用例中存在一次性pass沒有經過fail的,也報告一次性通過,給出如此優秀地實現了這部分功能的程式碼。由2位同學中的一位釋出部落格提交到作業,指明自己的結對夥伴;另一位在作業中引用這一部落格,指明自己的結對夥伴。(40分)
收穫:情況考慮的不夠完全,從而引發很多問題,所以我們再測試時一定也要同樣認真對待。
此次作業是和魏琛同學完成的。部落格內容詳見:https://www.cnblogs.com/weichenaa/p/13767329.html
要求3做好準備,在接下的一週你可能無法通過別人的測試用例。 (0分)
要求4使用coding.net做版本控制。checkin 前要求清理 臨時檔案、可執行程式,通常執行 build-clean可以達到效果。(5分)
https://e.coding.net/weichenaa/f4/f4.git