【问题标题】:How to run automated tests with pytest for a package with classes?如何使用 pytest 为带有类的包运行自动化测试?
【发布时间】:2019-11-17 12:13:47
【问题描述】:

我是使用 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`])

这个测试我的包的过程对我来说似乎不是最佳的,我相信有更好的方法来做。理想情况下,我希望能够在操作系统终端和/或运行test_p 的python 终端中运行一个脚本,并让这个脚本存在于p 目录中。问题是我无法从p 本身导入ABC。有没有办法运行一个脚本来运行test_p(或直接运行test_p)而无需在目录之间导航?

【问题讨论】:

    标签: python class package pytest


    【解决方案1】:

    我找到了一个简单的解决方案:添加该行 from p import *test_p文件,在p的父目录下,在python中运行以下两行代码:

    import pytest
    pytest.main(['p/test_p'])
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-10
      • 1970-01-01
      • 2018-06-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多