zoukankan      html  css  js  c++  java
  • 20190919-4 单元测试 结对

    作业要求参见:https://edu.cnblogs.com/campus/nenu/2019fall/homework/7629

    单元测试代码地址: https://e.coding.net/wangkefei/f4.git

    结对伙伴:徐姗姗

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

    功能一:

    测试用例 预期结果

    在命令行输入f4并回车。

    程序运行,打印出第一道四则运算题,换行打印“?”,用户可在“?”后输入答案。
    输入正确答案并回车。 提示“答对啦,你真是个天才!”,并打印下一道随机四则运算题。
    输入错误答案并回车。 提示“再想想吧,答案似乎是xxx(正确答案)喔!”,并打印下一道随机四则运算题。
    回答完20道题并回车。 提示“你一共答对xxx(回答正确数)道题,共20道题。”,并结束程序。

    功能二:

    测试用例 预期结果

    在命令行输入f4并回车。

    程序运行,随机生成的四则运算题目中包含位置合理的括号。
    输入正确答案并回车。 提示“答对啦,你真是个天才!”,并打印下一道带有括号的四则运算题。
    输入错误答案并回车。 提示“再想想吧,答案似乎是xxx(正确答案)喔!”,并打印下一道带有括号的四则运算题。
    回答完20道题并回车。 提示“你一共答对xxx(回答正确数)道题,共20道题。”,并结束程序。

    功能三:

    测试用例 预期结果
    在命令行输入f4 -c -3。 提示“题目数量必须是 正整数”。
    在命令行输入f4 -c 3.5。 提示“题目数量必须是 正整数”。
    在命令行输入f4 -c test。 提示“题目数量必须是 正整数”。
    在命令行输入f4 -c 10。 生成.txt文件,文本中有十道不重复的题目及其答案。

    功能四:

    测试用例 预期结果
    在命令行输入f4 -c 3,并回车。 程序运行,生成.txt文件,文本中随机生成3道带有分数的四则运算题目。
    输入正确答案并回车。 提示“答对啦,你真是个天才!”,并打印下一道带有分数的四则运算题。
    输入错误答案并回车。 提示“再想想吧,答案似乎是xxx(正确答案)喔!”,并打印下一道带有分数的四则运算题。

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

    (1)功能一fail:输入答案光标与“?”不在同一行。

     

     修改代码:了解到print()默认打印一行,以“ ”结尾。加上end="",不换行,保证答案与“?”在同一行。

    print('?', end="")

    修改后pass:

    单元测试输入结果与正确答案是否相等:

    TDD(UnitTest)重点代码:

    class UnitTest(unittest.TestCase):
        def test_f4(self):
            pass
    
        def test_result_integer(self):
            print("求值功能单元测试开始:")
            f1 = f4.f4()
            for i in range(2):
                size = f1.generate()
                print("生成的算术表达式:", size)
                print("输入的答案:", eval(f1.f4_answer(size)))
                self.assertEqual(eval(size), eval(f1.f4_answer(size)))
                print("求值功能单元测试结束。", end='
    
    ')
                print("求值功能测试完成", end='
    
    ')

    运行截图:

    (2)功能二pass:

    (3)功能三fail:在命令行输入test -c 5无任何输出。(此处程序名为test是因为没有在原有f4.py基础上修改,另建了一个test.py尝试编写功能三,防止f4.py崩掉。)

    运行截图:

     修改后pass:

     

    (4)功能四pass:

    要求3 做好准备,在接下的一周你可能无法通过别人的测试用例。

    要求4 使用coding.net做版本控制。checkin 前要求清理 临时文件、可执行程序,通常执行 build-clean可以达到效果。

    单元测试代码地址: https://e.coding.net/wangkefei/f4.git

  • 相关阅读:
    java中map接口hashMap以及Enty之间的用法和关系
    Collection集合总结,List和set集合的用法,HashSet和LinkedHashSetde用法
    微信小程序开发攻略
    Java闰年的计算,Calendar的用法
    Java计算计算活了多少天
    Java用代码演示String类中的以下方法的用法
    Java判断一个字符串中有多少大写字母、小写字母和数字
    Java将一个字符串的首位改为大写后边改为小写的实现,String
    Java 获取一个字符串中,另一个字符串出现的次数
    linux下重命名文件或文件夹(linux)
  • 原文地址:https://www.cnblogs.com/wkf-/p/11571781.html
Copyright © 2011-2022 走看看