20200924-3 单元测试,结对
此作业的要求参见[https://edu.cnblogs.com/campus/nenu/2020Fall/homework/11243]
2人结对,使用TDD测试框架 (如NUnit, JUnit, cppUnit等)完成本周作业四则运算试题生成的单元测试。
结对伙伴:李虎
要求1 对每个功能,先给出测试用例,然后再编码功能。请注意把测试用例视为功能需求完成的检验指标。 (40分)
功能一二测试用例
函数表达式生成测试用例
功能三四测试用例
单元测试代码
import unittest import FourOperations as f4 class UnitTest(unittest.TestCase): def test_f4(self): pass # 表达式求值功能测试 def test_result_integer(self): print("表达式求值功能单元测试开始:") for i in range(2): ques,anss = f4.build_question() que=str(ques) ans=str(anss) print("生成的算术表达式:", que) print("输入的值:", eval(ans)) self.assertEqual(eval(que), eval(ans)) print("表达式求值功能单元测试结束。", end='\n\n') print("表达式求值功能测试完成", end='\n\n') # 单元测试的入口 if __name__ == "__main__": unittest.main()
测试结果:
要求2 在博客报告测试用例全部fail 到 全部pass 的过程,报告事实 (fail到修改代码或者测试用例,到pass) 以及收获。 除了最初的框架,测试用例中存在一次性pass没有经过fail的,也报告一次性通过,给出如此优秀地实现了这部分功能的代码。由2位同学中的一位发布博客提交到作业,指明自己的结对伙伴;另一位在作业中引用这一博客,指明自己的结对伙伴。(40分)
在测试用例2中发现一处fail
程序未能给出正确的提示,发现是括号没有进行判断导致的,对其进行修复
if fh3==2:#修复处理括号情况 if fh2==1 or fh2==2: string2="("+str(c)+yunsuanfu(fh2)+str(d)+")"
收获:经过单元测试,发现自己还是有做的不够好的地方,以后在其他项目中要多做一些单元测试,这样才能给以后的代码编写减少不必要的错误。
要求3 做好准备,在接下的一周你可能无法通过别人的测试用例。 (0分)
要求4 使用coding.net做版本控制。(5分)
https://e.coding.net/thinkget/wf/f4.git