zoukankan      html  css  js  c++  java
  • Python + selenium之unitest(2)

    unittest单元测试框架中重要的概念:

    1.Test Case

     一个Test Case实例就是一个测试用例。在一个完整的测试流程中,包括测试前准备环境的搭建(setUp),实现测试过程的代码(run)以及测试后测试环境的还原(tearDown)。单元测试(unittest)本质就是:一个测试用例就是一个完整的测试单元,通过运行这个测试单元,可以对某个功能模块进行验证。

    2.Test Suite

    一个功能的验证往往需要多个测试用例,可以多个测试用例集合在一块执行,于是就产生了测试套件TestSuite的概念,Test Suite用来组装单个测试用例,可以通过addTest加载TestCase加到TestSuite中从而F返回一个TestSuite实例。

    3.Test Runner 

      测试的执行也是单元测试中非常重要的一个概念。一般单元测试框架中都会提供丰富的执行策略和执行结果。在unittest单元测试框架中,通过TextTestRunner类提供的run()方法来执行test suite/test case .

    test runner()可以使用图形界面,文本界面或者返回一个特殊的值等方式来表示测试执行的结果。

    4.Test Fixture

    对于一个测试用例环境的搭建和销毁,就是一个fixture,通过覆盖TestCase的setUp()和tearDown()方法来实现。比如在一个测试用例中需要访问数据库,那么就可以在setUp()中通过建立数据库连接来进行初始化,在tearDown()中清空数据库产生的数据,然后关闭连接。

    注意:tearDown的过程很重要,要为下一个test case留下一个干净的环境。

     1 from calculator import Count
     2 import unittest
     3 
     4 
     5 class TestCount (unittest.TestCase):
     6     def setUp(self):
     7         print("test start")
     8 
     9     def test_add(self):
    10         j = Count (2, 4)
    11         self.assertEqual (j.add (), 6)
    12 
    13     def test_add2(self):
    14         i = Count (2,9)
    15         self.assertEqual (i.add (), 11)
    16 
    17     def tearDown(self):
    18         print("test end")
    19 
    20 
    21 if __name__ == '__main__':
    22     # unittest.main ()
    23     suite = unittest.TestSuite()
    24     suite.addTest(TestCount('test_add2'))
    25     # suite.addTest (TestCount ('test_add'))
    26     runner = unittest.TextTestRunner()
    27     runner.run(suite)

    从上可以看出:setUp和tearDown作用于测试用例的开始与结束。

  • 相关阅读:
    思科模拟器——常用命令
    思科模拟器——允许远程telnet连接控制路由器/交换机
    思科模拟器——使用路由器分割局域网
    如何将centos7作为DNS服务器
    Centos7设置grub密码保护
    curl提示不支持https协议解决方法
    Kettle入门--作业和转换的使用
    oracle命令导入SQL脚本
    centos7 部署elasticsearch
    Nginx通过Keepalived实现高可用
  • 原文地址:https://www.cnblogs.com/fengyiru6369/p/7550834.html
Copyright © 2011-2022 走看看