pytest实现按业务线来执行,各业务线下的业务测试用例

问题

  • 问题表现
    想按业务线来执行,各业务线下的业务测试用例。pytest有什么方法吗。除了在用例上标记mark以外。类似于testsuites 。
  • 报错信息

产生的原因

希望 在入口程序中 接收 外部参数,从而执行 line_1 或line_2下面的用例

解决方法

import argparse
import pytest

def main():
    parser = argparse.ArgumentParser(description='Run specific business line tests.')
    parser.add_argument('--line', choices=['line_1', 'line_2'], required=True, 
                        help='Specify the business line to run tests for.')
    
    args = parser.parse_args()

    # 根据传入的业务线参数执行对应的测试用例
    pytest_args = [f'tests/{args.line}/']
    pytest.main(pytest_args)

if __name__ == '__main__':
    main()

可以参照编写入口程序,然后通过
命令python run_tests.py --line line_1运行传入业务线参数