zoukankan      html  css  js  c++  java
  • 20200924-3 单元测试,结对

    此作业的要求参见[https://edu.cnblogs.com/campus/nenu/2020Fall/homework/11243]

    结对对象:马艺明同学

    要求1 对每个功能,先给出测试用例,然后再编码功能。请注意把测试用例视为功能需求完成的检验指标。

    功能一、二测试用例:

    功能三测试用例:

    TDD(UnitTest)测试用例:

    要求2 在博客报告测试用例全部fail 到 全部pass 的过程,报告事实 (fail到修改代码或者测试用例,到pass) 以及收获。 除了最初的框架,测试用例中存在一次性pass没有经过fail的,也报告一次性通过,给出如此优秀地实现了这部分功能的代码。由2位同学中的一位发布博客提交到作业,指明自己的结对伙伴;另一位在作业中引用这一博客,指明自己的结对伙伴。

    (1)功能一、二测试:
    测试用例1
    起初输入f4,打印出现表达式后,无“?”,按照要求需要换行后输出“?”,且在“?”之后输入表达式答案。此运行截图如下:

    修改代码为 print('?', end="")后,问题解决,运行截图为:

    测试用例2
    运行结果达到预期

    测试用例3
    运行结果达到预期

    (2)功能三测试:
    测试用例1、2、3
    运行结果达到预期

    测试用例4
    可以将表达式和结果输出到文本文件,但是没有实现“精美”打印。

    修改代码为 formula.append('= ')后,运行截图如下:

    (3)TDD(UnitTest)测试:
    测试用例1、2、3
    运行结果达到预期,截图如下:

    主要代码如下:

    class UnitTest(unittest.TestCase):
        def test_f4(self):
            pass
    
        def test01_create_formula(self):           # 测试顺序按函数名字字典顺序进行
            print("create_formula函数单元测试开始:")
            self.assertIsNotNone(create_formula())
            print("OK")
            print("create_formula函数单元测试结束。
    ")
    
        def test02_inverse_polish(self):
            eq = []
            print("inverse_polish函数单元测试开始:")
            equation = input("输入一个四则运算(括号请使用英文版的括号):")
            _eq_ans = input("输入正确的逆波兰表达式:")
            list(equation)          # 输入的表达式是str类型,该函数处理的是含有整型和字符型的list类型
            for temp in equation:
                if '0' <= temp <= '9':
                    eq.append(int(temp))
                else:
                    eq.append(temp)
            re_equation = inverse_polish(eq)
            str_equation = "".join('%s' % id for id in re_equation)
            self.assertEqual(_eq_ans, str_equation)
            print("OK")
            print("inverse_polish函数单元测试结束。
    ")
    
        def test03_calculate(self):
            eq = []
            print("calculate函数单元测试开始:")
            equation = input("输入一个可计算的逆波兰表达式:")
            _eq_ans = input("输入该表达式的正确结果:")
            list(equation)  # 输入的表达式是str类型,该函数处理的是含有整型和字符型的list类型
            for temp in equation:
                if '0' <= temp <= '9':
                    eq.append(int(temp))
                else:
                    eq.append(temp)
            result = calculate(eq)
            self.assertEqual(float(_eq_ans), result)
            print("OK")
            print("calculate函数单元测试结束。
    ")
    
    

    要求4 使用coding.net做版本控制。

    coding地址:[https://e.coding.net/kaixindebenxiaohaiya/four-operations/four_operations.git]

  • 相关阅读:
    78. Subsets
    93. Restore IP Addresses
    71. Simplify Path
    82. Remove Duplicates from Sorted List II
    95. Unique Binary Search Trees II
    96. Unique Binary Search Trees
    312. Burst Balloons
    程序员社交平台
    APP Store开发指南
    iOS框架搭建(MVC,自定义TabBar)--微博搭建为例
  • 原文地址:https://www.cnblogs.com/houwx744/p/13766034.html
Copyright © 2011-2022 走看看