[英]How to run automated tests with pytest for a package with classes?
我是使用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`])
对于我来说,这种测试程序包的过程似乎并不是最佳选择,而且我相信还有更好的方法可以做到。 理想情况下,我希望能够仅在OS终端中和/或在运行test_p
的python终端中运行test_p
,并使该脚本存在于p
目录中。 问题是我无法从p
本身导入A
, B
和C
有没有一种方法可以运行将运行test_p
(或直接运行test_p
)而无需在目录之间导航的脚本?
我找到了一个简单的解决方案:将from p import *
的行添加到test_p
文件,并在p
的父目录中,在python中运行以下两行代码:
import pytest
pytest.main(['p/test_p'])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.