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

posted @ 2020-10-05 20:08  思得  阅读(188)  评论(0编辑  收藏  举报