[英]how to write integration tests using pytest and how to repeat the integration tests
我对此并不陌生,所以请不要介意这个问题不够具体。
我想知道如何将单元测试合并到pytest中的单个集成测试中。 此外,我想在单个测试会话中重复几次集成测试。 请让我知道pytest中是否有办法做到这一点。
方案:我有两个单元测试,名称分别为test_start_call和test_end_call,它们分别由pytest调用。
现在,我想重复此过程几次,所以我这样做:
对于我在范围(0,c)中:pytest.main(一些命令)
该方法工作正常,可以启动测试会话,并在每次测试会话中进行一次调用后,根据需要将测试会话断开多次。
但是我想在一个测试会话中打几个电话,到目前为止,自最近两天以来,我还没有找到任何方法可以这样做。 我尝试研究xdist,但不想并行启动新进程。 集成测试应该在单个测试会话中按我希望的顺序连续执行单元测试(开始调用和结束调用)。
我被困住了。 因此,任何帮助都会很棒。 谢谢!
查看https://docs.pytest.org/en/latest/parametrize.html
然后将mult参数添加到每个测试中,并在pytest_generate_tests钩子中实现--mult以提供固定值。
# 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):
...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.