美文网首页
踩坑 - 使用Buildout Config文件做数据配置

踩坑 - 使用Buildout Config文件做数据配置

作者: yytester | 来源:发表于2017-12-11 10:38 被阅读30次

问题现象

我的公共类放在case_common目录,测试用例放在test_case目录.

如果执行case_common下的run_test.py,可以正常执行.

如果执行test_case下的run_testes.py, 则直接报'EEEEEEEEEE'.

case_common/run_test.pytest_case/run_testes.py两边的代码都没问题,只在import的地方做了适当修改,其他代码内容都一样.

image.png

case_common/run_test.py代码是

#!/usr/bin/python
# -*- coding: utf-8 -*-

import unittest
import time
from HTMLTestRunner import HTMLTestRunner

#指定测试用例存放的目录
test_dir = '../test_case'
# test_dir = '../test_case'
#指定执行测试目录里,名字是test_开头的py文件
discover = unittest.defaultTestLoader.discover(test_dir,pattern='test_*.py')


if __name__ == '__main__':

    now = time.strftime("%Y-%m-%d %H:%M:%S")
    filename = '../../report/' + now + '_TestResult.html'
    fp = open(filename,'wb')
    runner = HTMLTestRunner(stream=fp,title=u'e钱庄测试报告',description=u'用例执行情况:')
    runner.run(discover)
    fp.close()

test_case/run_testes.py代码是:

#!/usr/bin/python
# -*- coding: utf-8 -*-

import unittest
import time
from case_common.HTMLTestRunner import HTMLTestRunner

#指定测试用例存放的目录
test_dir = '../test_case'

#指定执行测试目录里,名字是test_开头的py文件
discover = unittest.defaultTestLoader.discover(test_dir,pattern='test_*.py')


if __name__ == '__main__':
    now = time.strftime("%Y-%m-%d %H:%M:%S")
    filename = '../../report/' + now + '_TestResult.html'
    fp = open(filename,'wb')
    runner = HTMLTestRunner(stream=fp,title=u'e钱庄测试报告',description=u'用例执行情况:')
    runner.run(discover)
    fp.close()


原因

使用Buildout Config文件做数据配置,则必须和主执行文件test_case/run_testes.pytest_case/run_testes.py在同一个文件夹里


改进

  1. 以执行主文件为基准,正确设置Buildout Config文件的相对目录.如run_scripts.py是主文件:

    image.png
    则设置:
        setUpConf = ConfigParser.ConfigParser()
        # 取"element"文件的配置数据
        config_dir = "../config/"
        setUpConf.read(config_dir + "element")
    
  2. 换YAML做配置文件,代替Buildout Config.

相关文章

网友评论

      本文标题:踩坑 - 使用Buildout Config文件做数据配置

      本文链接:https://www.haomeiwen.com/subject/pkxiixtx.html