【发布时间】:2019-06-10 16:12:31
【问题描述】:
平台 linux -- Python 3.6.7、pytest-4.4.0、py-1.8.0、pluggy-0.9.0
#example.py
try:
import configparser
except ImportError:
import ConfigParser as configparser
CONFIG = configparser.ConfigParser()
CONFIG.read(sys.argv[1])
ININFO = {i:dict(CONFIG.items(i)) for i in CONFIG.sections()}
DATANAME = ININFO['data']['name']
def somefunction(DATANAME):
"""
This function will take lot of variables from ini file
"""
print(DATANAME)
s1 = "Pass"
s2 = "Fail"
s3 = "Pass"
print(s1, s2, s3)
return [s1, s2, s3]
def test_somefunction():
"""
Test function
- Will check whether all steps are passed or not.
"""
status = somefunction()
for sts in status:
assert sts == 'Pass', "Test has Failed!"
if __name__ == "__main__":
somefunction()
和上面的代码一样,我有很多文件,而且都有内置测试
我的执行方式是
#sudo python3 example.py inifile.ini
请告诉我如何在不更改代码的情况下使用 pytest 执行此操作。
如果我将sys.argv[1] 替换为文件名,则此工作正常,如下所示
sudo python3 -m pytest -s
指导我如何处理这个问题。
我添加并检查下面的屏幕截图 error image
示例 ini 文件 测试.ini
[data]
name = some.name
age = 22
[data1]
name = someother.name
age = 32
【问题讨论】:
-
看来你的问题已经在这个链接里解决了,stackoverflow.com/a/42778436/4490226请试试。
标签: python python-3.x pytest