【发布时间】:2016-08-19 05:51:28
【问题描述】:
我有一个 python 包,其中我所有的 unittest 测试类都存储在子包mypkg.tests 的模块中。在tests/__init__.py 文件中,我有一个名为suite 的函数。我通常通过调用具有test_suite='satpy.tests.suite' 的python setup.py test 来运行这些测试。是否可以从 pycharm 运行这个测试套件?
我拥有套件功能的原因是它只包含准备好从我的持续集成运行的测试,但目录中存在其他失败的测试(来自旧版本的包)。我还可以看到这对于选择快速单元测试而不是长时间运行测试很有用。我尝试过作为脚本运行、作为nosetest 或unittest 配置运行。我试过添加if __name__ == "__main__":和其他类型的命令行运行方法都没有成功。
有没有办法从 pycharm 运行配置中只运行一些测试?
【问题讨论】:
-
我发现的最佳解决方法是
from mypkg.tests.test_one import *在tests/__init__.py的顶部,然后在 pycharm unittest 配置中作为脚本运行测试。 -
仅供参考,供以后看到此情况的任何人使用,据我所知,setuptools 已弃用
python setup.py test用法。我已经将我的大部分项目改为使用 pytest 或调用python -m unittest。
标签: python unit-testing pycharm nose python-unittest