【发布时间】:2019-11-17 12:13:47
【问题描述】:
我是使用 pytest 和运行自动化测试的新手,我想知道在包含类的 python 包中运行自动化测试的最佳实践。我有一个包p,其中包含A、B 和C 类。我有一个文件test_p,其中包含四个测试函数。为了测试这些功能,我需要导入A、B和C。我目前这样做的方式是在我的p 存储库中拥有一个__init__.py 文件,其中包含以下几行:
from p.A import A
from p.B import B
from p.C import C
然后,在包含p 目录的目录中,我启动 python 并运行命令:
from p import *
import pytest
然后,我在 p 中导航,然后在 python 中运行:
pytest.main([`test_p`])
这个测试我的包的过程对我来说似乎不是最佳的,我相信有更好的方法来做。理想情况下,我希望能够在操作系统终端和/或运行test_p 的python 终端中运行一个脚本,并让这个脚本存在于p 目录中。问题是我无法从p 本身导入A、B 和C。有没有办法运行一个脚本来运行test_p(或直接运行test_p)而无需在目录之间导航?
【问题讨论】:
标签: python class package pytest