20200924-3 单元测试,结对
此作业的要求参见[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