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]

  • 相关阅读:
    Javascript获取本周,本月,本季,本年,上月,上周,上季,去年,上二周,上二月
    SQL SERVER 2008 评估期已过的解决办法
    习惯那些“小事”
    Oracle 测试语句
    整理js常用按键相关代码
    .NET 学习笔记
    lamda表达式学习
    使用Html.DropDownList
    ibatis
    MyBatis
  • 原文地址:https://www.cnblogs.com/houwx744/p/13766034.html
Copyright © 2011-2022 走看看