Python_unittest

上一篇 / 下一篇  2017-04-20 17:44:02 / 个人分类:Python

python unittest四大组成“元件”:

  • test fixture测试脚手架)——测试代码的运行环境,指测试准备前和执行后要做的工作,包括setUp()和tearDown();
  • TestCase(测试案例)——所有测试用例的基类,它是软件测试中最基本的组成单元;
  • TestSuite(测试套件)——测试案例的集合;
  • test runner(执行测试)——测试用例的执行

(note1:什么是测试用例? 答:测试用例是一个完整的测试流程,包括测试前准备环境的搭建(setUp),执行测试代码(run),以及测试后环境的还原(tearDown)

note2:setUpClass和tearDownClass是在类中所有用例执行前和结束后分别只执行一次)

 

unittest测试代码流程:

  1. 写好TestCase
  2. 由TestLoader加载TestCase到TestSuite
  3. 然后由TextTestRunner来运行TestSuite,预见性结果保留在TextTestResult中(使用命令行或unittest.main()调用执行

1.批量执行,不使用测试套件的好处

    批量执行的时候,我们在一个测试文件里面执行该文件里面的n条测试用例,如上面baidu.py这个文件,我们可以执行执行:

    if __name__=="__main__":

         suite=unittest.TestSuite()

         suite.addTest(Baidu("test_search"))

         suite.addTest(Baidu("test_login"))

         runner=unittest.TextTestRunner()

         runner.run(suite)

   这样你可以在一个文件里面执行所有的用例,也可以执行自己想要执行的那条用例,使用“#”,可以注释掉当前不需要执行的那条用例

 2.使用测试套件的好处

   使用测试套件,我们需要重新建立一个专门执行用例的文件 如 run_case.py

   import unittest

   from baidu import Baidu

   ......... #导入相关模块

  suite=unittest.TestSuite()

  suite.addTest(unittest.makeSuite(baidu.Baidu))

  runner=unittest.TextTestRunner()

  runner.run(suite)

 这样你可以在里面添加一条语句,就可以执行整个文件里面的case,如 suite.addTest(unittest.makeSuite(baidu.Baidu)) 这样就可以执行整个 baidu.py里面的 test_search,test_login这两条用例了。


TAG:

 

评分:0

我来说两句

我的栏目

日历

« 2024-04-16  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 30781
  • 日志数: 12
  • 建立时间: 2015-10-29
  • 更新时间: 2017-04-20

RSS订阅

Open Toolbar