繁体   English   中英

如何使用pytest对具有类的包运行自动化测试?

[英]How to run automated tests with pytest for a package with classes?

我是使用pytest并全面运行自动化测试的新手,我想了解在包含类的python包中运行自动化测试的最佳实践。 我有一个包p ,其中包含类ABC 我有一个文件test_p ,其中包含四个测试功能。 为了测试这些功能,我需要导入ABC 我目前这样做的方式是在我的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本身导入ABC 有没有一种方法可以运行将运行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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM