首页 > 解决方案 > Pytest:如何从测试方法外部访问命令行参数

问题描述

我在 python 模块中定义了一个非测试方法。(比如 read_test_data()),它必须消耗通过命令行传递的 test_ID。我有另一个测试方法,定义在一个类中,它调用 read_test_data() 并从那里获取值。现在,如何从命令行参数中获取值到非测试方法中?

标签: pythoncommand-linepytest

解决方案


如果您的函数位于名为 file_name.py 的文件中,则如下所示:

import argparse

def read_test_data(testcase_id):
    print(testcase_id)

if __name__ == "__main__":
    parser = argparse.ArgumentParser()
    parser.add_argument("-t", "--testcase_id", help="test case id helper documentation")
    args = parser.parse_args()
    read_test_data(args.testcase_id)

如果您从命令行拨打电话,例如:

python file_name.py --testcase_id "test1A, test1B"

你会得到输出:

test1A, test1B

推荐阅读