我是新手,所以如果问题不够具体,请不要介意。
我想知道如何在pytest中对单元测试进行单一集成测试。 此外,我想在一次测试会话中重复几次集成测试。如果有办法在pytest中做到这一点,请告诉我。
方案: 我有两个单元测试名称test_start_call和test_end_call,由pytest按顺序调用。
现在我想重复这个过程几次,所以我这样做了:
表示范围(0,c)中的i: pytest.main(某些命令)
工作正常,可以启动测试会话,并在每个测试会话中进行一次调用,按照我的要求多次推断测试会话。
但是我想在一个测试环节中打几个电话,到目前为止,自从过去两天以来我没有找到任何办法。我试着研究xdist,但我不想并行开始新的流程。集成测试应该在单个测试会话中连续多次执行单元测试(开始调用和结束调用)。
我被困住了。所以任何帮助都会很棒。谢谢!
答案 0 :(得分:1)
审核https://docs.pytest.org/en/latest/parametrize.html
然后将mult参数添加到每个测试并实现--mult in hook pytest_generate_tests以提供fixture值。
# conftest
def pytest_addoptions(parser):
parser.addoption('--mult', default=1, help="run many tests")
def pytest_generate_tests(metafunc):
mult = metafunc.config.getoption('--mult')
if 'mult' in metafunc.fixturenames:
for x in xrange(1, mult):
metafunc.parametrize("mult", mult)
# testfoo
def test_start_call(mult):
...
答案 1 :(得分:0)