• HOMEWORD2


    开发工具和语言选择

    语言 :pyhton3.6 工具 我选择的是 pycharm2019.1。由于之前已经安装好了,这里就不再贴出。

    自动单元测试练习

    python单元测试框架Unittest。Unittest最核心的四个概念是:test case, test suite, test runner, test fixture。下面简单介绍一下

    Testcase

    可以理解为一个单独的测试用例

    Testsuit

    就是多个测试用例集合在一起

    Testloader

    加载Testcase到Testsuit,返回一个Testsuit

    Testfixture

    对一个用例的搭建和销毁

    测试函数的编写

    mytest.py

    class MATH:  
    def add(self,a,b):  
        return a+b  
    def minus(self,a,b):  
        return a-b  
    def divide(self,a,b):  
        return a/b

    测试单元

    tstunit.py

    import  unittest  
    from mytest import *  
    class theTests(unittest.TestCase):
    def setUp(self):
        self.m = MATH()
    
    def tearDown(self):  
        pass  
    
    def test_add(self):
        result = self.m.add(10,20)  
        self.assertEqual(30,result)  
        print('+')  
    
    def test_minus(self):  
        result = self.m.minus(20,10)  
        self.assertEqual(10,result)  
        print('-')  
    
    def test_divide(self):  
        result = self.m.divide(9,2)  
        self.assertEqual(4.5,result)  
        print('/')  
    if  __name__ == '__main__':  
        unittest.main()  

    运行结果

    如下图
    测试结果
    .表示测试通过 F表示不通过。我们看输出的符号顺序是 + / - 这与我们编写的测试顺序不同。如果想让输出按照我们编写的顺序来实现的话可以这样实现。

    在函数名中添加数字来实现

    比如之前的test_divide()函数 将其改为test_3_divide(),将test_add()改为test_2_add(),将test_minus()改为test_1_minus()
    运行后,输出如下。
    1485224-20190413210749346-54367921.png

    另一种方法就是使用Testsuit

    Testsuit不仅可以按序测试多个函数,也可以按顺序执行多个测试文件
    按顺序将要测试的函数添加到列表中,通过addTests方法添加到Testsuit中
    运行结果如下
    1485224-20190413213628613-1121482883.png

    参考文章

    [1](http://www.mamicode.com/info-detail-2366101.html)
    [2](https://blog.csdn.net/huilan_same/article/details/52944782)

    转载于:https://www.cnblogs.com/emt444847010/p/10702635.html

  • 相关阅读:
    理解OO 思想 架构好一个程序之基石!~
    WP7 ZIP 压缩与解压缩
    Gis LBS 应用 剧本 (自己乱想的)
    PHP 入门 环境搭建
    Android 入门必须知道的 英文缩写
    Android 开发 数据结构理解 队列和栈 分析及实现
    c函数中形参为引用的情况;C++中*a和*&a的区别
    如何在.NET中使用尾递归
    [ProjectEuler.net] 25 找到第一个fib数,数位为1000位
    NFA_DFA
  • 原文地址:https://www.cnblogs.com/twodog/p/12134918.html
Copyright © 2020-2023  润新知