这个工作对我来说,似乎更容易/更清晰:
顶级测试/ conftest.py(requests.Response的可重复使用的打印调试的例子):
import pytest
import requests
from requests_toolbelt.utils import dump
@pytest.fixture(scope="session")
def print_response(response: requests.Response):
data = dump.dump_all(response)
print("========================")
print(data.decode('utf-8'))
print("========================")
print("response.url = {}".format(response.url))
print("response.request = {}".format(response.request))
print("response.status_code = {}".format(response.status_code))
print("response.headers['content-type'] = {}".format(response.headers['content-type']))
print("response.encoding = {}".format(response.encoding))
try:
print("response.json = {}".format(response.json()))
except Exception:
print("response.text = {}".format(response.text))
print("response.end")
从较低的水平conftest导入上级conftest码 - 例如,测试/包1/conftest.py:
from tests.conftest import *
然后,在测试/包1/TEST_内的较低水平测试*。py,你只需导入通过:
from tests.package1 import conftest
然后你从一个conftest可用的合并配置测试。在整个测试层次结构中为其他较低级别的详细/模块化conftest.py文件重复此模式。
这非常优雅。谢谢! – alkalinity 2014-11-21 20:41:48