zoukankan      html  css  js  c++  java
  • Selenium 2自动化测试实战27(unittest重要概念,test fixture、test case、test suite和test runne)

    一、unittest重要概念

    4个重要概念:
    test fixture、test case、test suite和test runner。

    1.Test Case
    一个TestCase的实例就是一个测试用例。就是一个完整的测试流程,包括测试前准备环境的搭建(setUp)、实现测试过程的代码(run),以及测试后环境的还原(tearDown)。

    2.Test Suite
    一个功能的验证往往需要多个测试用例,可以把多个测试用例集合在一起来执行,这就产生了测试套件TestSuite的概念。TestSuite用来组装单个测试用例。可以通过addTest加载TestCase到TestSuite中,从而返回一个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留下一个干净的环境。

    #coding:utf-8
    
    from Demo1 import Count
    import unittest
    
    #测试两个整数相加
    class TestCount(unittest.TestCase):
    
        def setUp(self):
            print "test start"
    
        def test_sum(self):
            j=Count(2,3).sum()
            self.assertEqual(j,5)
    
        def test_sum2(self):
            j=Count
    
        def tearDown(self):
            print "test Down"
    
    if __name__=='__main__':
        #构造测试集
        suite=unittest.TestSuite()
        suite.addTest(TestCount("test_sum2"))
    
        #执行测试
        runner=unittest.TextTestRunner()
        runner.run(suite)

    在前面例子的基础上编写了第二个测试用例test_sum2()。由于第一个测试用例已经运行通过,因此只需要运行第二条测试用例。在代码的最后,我们去掉了main()方法,采用构造测试集的方法来加载与运行测试用例,实现了有选择地执行测试用例。
    首先,调用unittest框架的TestSuite()类来创建测试套件,通过它所提供的addTest()方法来添加测试用例test_sum2()。接着调用unittest框架的TextTestRunner()类,通过它下面的run()方法来运行suite所组装的测试用例。
    从执行结果看,setUp/tearDown作用于测试用例的开始与结束。

  • 相关阅读:
    远程桌面 终端服务器超出最大连接数的解决方法
    html a标签中调用js中的方法的方法
    英文励志歌曲经典珍藏
    远程桌面 习惯性注销连接,出事了
    小幽默
    MySQL用户权限
    MyBatis Like 模糊查询
    MVC3控制器方法获取Form数据方法
    MVC 3 Razor中的@helper 语法
    MVC3实现多个按钮提交
  • 原文地址:https://www.cnblogs.com/Rita-LJ/p/11772352.html
Copyright © 2011-2022 走看看