此作业要求参见:https://edu.cnblogs.com/campus/nenu/2020Fall/homework/11243
2人结对,使用TDD测试框架 (如NUnit, JUnit, cppUnit等)完成本周作业四则运算试题生成的单元测试。
结对伙伴:季嘉
使用语言:python
测试框架:UnitTest
测试内容:四则运算试题生成
2人结对,使用TDD测试框架 (如NUnit, JUnit, cppUnit等)完成本周作业四则运算试题生成的单元测试。
要求1 对每个功能,先给出测试用例,然后再编码功能。请注意把测试用例视为功能需求完成的检验指标。 (40分)
功能一、二测试用例:
ID |
测试用例 |
预期结果 |
1 |
输入f4 |
随机产生表达式 |
2 |
输入表达式的正确结果 |
输出“答对了,你真是个天才!” |
3 |
输入表达式的错误结果 |
输出“再想想吧,答案似乎是xxx喔!" |
4 | 回答完成20道题目 |
输出“你一共答对*题,一共20道题” |
5 | 输入? |
输出”再想想吧,答案似乎是xxx喔! |
功能三测试用例
ID |
测试用例 |
预期结果 |
6 | 输入f4 -c 7 |
在result.txt文本中输出7个表达式和答案 |
7 |
输入f4 -c 7.5 |
提示“题目数量必须是正整数。” |
8 |
输入f4 -c -7 |
提示“题目数量必须是正整数。” |
9 |
输入f4 -c ? |
提示“题目数量必须是正整数。” |
功能四测试用例
ID |
测试用例 |
预期结果 |
10 |
输入f4 -c 7 |
显示有分数的结果 |
要求2 在博客报告测试用例全部fail 到 全部pass 的过程,报告事实 (fail到修改代码或者测试用例,到pass) 以及收获。 除了最初的框架,测试用例中存在一次性pass没有经过fail的,也报告一次性通过,给出如此优秀地实现了这部分功能的代码。由2位同学中的一位发布博客提交到作业,指明自己的结对伙伴;另一位在作业中引用这一博客,指明自己的结对伙伴。
功能一测试:
测试用例1 随机产生表达式
测试用例2 输入表达式的正确结果
测试用例3 输入表达式的错误结果
测试用例4 完成20道题
测试用例5 输入?
功能三测试:
测试用例6 输入f4 -c 7
测试用例7 输入f4 -c 7.5
测试用例8 输入f4 -c -7
测试用例9 输入f4 -c ?
功能四测试
测试用例10 输入f4 -c 7
功能一、四的测试代码
# coding=gbk import unittest import f4 class JustforTest(unittest.TestCase): # 测试功能1 def test_calc(self): print(" _input()函数单元测试开始:") self.assertEqual(None, f4._input()) print(' 答对啦,你真是个天才') # 测试功能4 def test_f4_integer_parser(self): print("function_four函数单元测试开始:") x = input("输入命令行参数:") self.assertEqual(0,f4.function_four(x)) print("function_four函数单元测试结束。") if __name__ == '__main__': unittest.main()
功能二、三的测试代码
# coding=gbk import unittest import f4 import argparse class JustforTest(unittest.TestCase): # 测试功能2 def test_calc(self): print(" out_input()函数单元测试开始:") self.assertEqual(None, f4.out_input()) print(' 答对啦,你真是个天才') # 测试功能3 def test_f4_integer_parser(self): print("input_count函数单元测试开始:") x = input("输入命令行参数:") self.assertEqual(0,f4.input_count(x)) print("input_count函数单元测试结束。") if __name__ == '__main__': unittest.main()
要求四: