此作業要求參見:
一、測試用例及測試結果
1.功能一測試用例
1).輸入f4,預計結果輸出四則運算題目及 '?'
2).輸入正確結果,預計列印「答對啦!你真是個天才!」,然後繼續輸出下一道題目
3).輸入錯誤結果,預計列印「再想想吧,答案似乎是xx喔!」,然後繼續輸出下一道題目
2.功能二測試用例
1).輸入f4,存在合理的有括號的四則運算題目
2).答完設定的題目最後會提示做對的題目數量和題目總數量
3.功能三測試用例
1).輸入f4 -c -1或f4 -c test後,提示「題目數量必須是正整數」
2).輸入f4 -c 10,自動生成「題目列印.txt」檔案,列印10道題目
二、**中函式的詳細測試
單元測試是用來對乙個模組、乙個函式或者乙個類來進行正確性檢驗的測試工作,為了編寫單元測試,只需要引入python自帶的unittest
模組。
測試程式**:
#view code-*- coding: utf-8 -*-
import
unittest
from f4 import *
class
f4test(unittest.testcase):
deftest_f4(self):
pass
def test01_create_equation(self): #
測試順序按函式名字字典順序進行
print("
create_equation函式單元測試開始:")
self.assertisnotnone(create_equation())
print("ok"
)
print("
create_equation函式單元測試結束。\n")
deftest02_reverse_polish(self):
eq =
print("
reverse_polish函式單元測試開始:")
equation = input("
輸入乙個四則運算(括號請使用英文版的括號):")
_eq_ans = input("
輸入正確的逆波蘭表示式:")
list(equation)
#輸入的表示式是str型別,該函式處理的是含有整型和字元型的list型別
for temp in
equation:
if'0'
<= temp <= '9'
:
else
: re_equation =reverse_polish(eq)
str_equation = "".join('
%s' % id for id in
re_equation)
self.assertequal(_eq_ans, str_equation)
print("ok"
)
print("
reverse_polish函式單元測試結束。\n")
deftest03_calculate(self):
eq =
print("
calculate函式單元測試開始:")
equation = input("
輸入乙個可計算的逆波蘭表示式:")
_eq_ans = input("
輸入該表示式的正確結果:")
list(equation)
#輸入的表示式是str型別,該函式處理的是含有整型和字元型的list型別
for temp in
equation:
if'0'
<= temp <= '9'
:
else
: result =calculate(eq)
self.assertequal(float(_eq_ans), result)
print("ok"
)
print("
calculate函式單元測試結束。\n")
if__name__ == "
__main__":
unittest.main()
1.無括號的表示式
2.有括號的表示式
結論:測試均通過。
20190919 4 單元測試,結對
結對夥伴 都雪冬 id測試用例 預期結果 1輸入f4 輸出隨機表示式 2在?後輸入表示式的正確答案 輸出 答對啦,你真是個天才!3在?後輸入表示式的錯誤答案 輸出 再想想吧,答案似乎是x喔!4輸入20個表示式的答案 輸出 一共答對x道題,共20道題!id測試用例 預期結果 5輸入f4 c 10 輸出...
20170928 2 單元測試,結對
結對夥伴 苗威 經過學習編寫的單元測試 import unittest from f4 import class testmathfunc unittest.testcase deftest f4 self pass deftest f4 answer self print f4 answer函式單...
20200924 3 單元測試,結對
此作業要求參見 2人結對,使用tdd測試框架 如nunit,junit,cppunit等 完成本週作業四則運算試題生成的單元測試。結對夥伴 柯源 要求1 對每個功能,先給出測試用例,然後再編碼功能。請注意把測試用例視為功能需求完成的檢驗指標。40分 答 測試用例1 字串 2 5 6 7 轉到list...