我的模块需要一些sys参数进行实例化:
print('args are: \t')
print(sys.argv)
d_path = sys.argv[2]
test2 = sys.argv[1]
sys.path.append(os.path.abspath(sys.argv[2]))
如果我想在pytest中导入此模块,则无法传递这些参数。 尽管我们可以对pytest进行论证,但是这些是pytest框架特有的参数。我们需要使用pytest传递这些sys参数
答案 0 :(得分:1)
我们可以使用以下代码设置参数
sys.argv.append("ad")
sys.argv.append("ert")
或
args=["rwsr","sfff"]
sys.argv[1:]=args
答案 1 :(得分:0)
>read_args.py
import sys
print('args for read_args are: \t')
test2,d_path=sys.argv[1:3]
print(f"d_path:{d_path}, test2:{test2}")
>pytest.py
import sys
import read_args
sys.argv[1:]=sys.argv[3:]
print('args of pytest are: \t')
print(sys.argv)
$ python pytest.py 1 2 3 4
用于read_args的args是:
d_path:2,test2:1
pytest的args是:
['pytest.py','3','4']