gpt4 book ai didi

python - 如何让 Pycharm 从测试文件夹递归运行所有 python 单元测试

转载 作者:太空宇宙 更新时间:2023-11-04 02:11:15 26 4
gpt4 key购买 nike

我有 Java 背景,所以我将我的单元测试组织成独立的并行测试层次结构,以反射(reflect)我的主要项目的结构。我正在使用 PyCharm 代替 Intellij 或 Eclipse。在这两个 I IDE 中,我可以选择任何被测包,并在此命名空间下递归运行所有单元测试。

测试结构

+ tests
+ billing
+ supplier
+ ClassName_tests.py - file
- TestClassName - class
- test_one() - functions
- test_two() - functions
+ config
...
+ invoicing
...

使用 Python 和/或 PyCharm 可以吗?目前我需要单独运行每个命名空间/模块的测试我是否必须在 PyCharm 或 Python 中定义一些东西。

我已阅读并尝试过此设置,但它会运行所选文件夹中的所有测试,而不是递归地运行。 How to force Pycharm to run all unit tests?

最佳答案

只是在这里发布一个答案,因为我在这上面停留了一段时间......这里的每个其他答案都围绕着这个主题跳舞,但你的案例的解决方案相对简单:

当 Pycharm 在目录中发现测试时,它会将子目录视为用于发现测试的模块

这意味着如果您希望这些文件夹可被发现,则它们需要包含一个 __init__.py 文件。

换句话说:

你的例子:

+ tests
+ billing
+ supplier
+ ClassName_tests.py - file

+ ... (omitted the rest for brevity)

应该变成:

+ tests
+ billing
- __init__.py
+ supplier
- __init__.py
- ClassName_tests.py - file

+ ...

之后,右键单击“测试”目录并在其中运行所有测试应该运行所有测试,包括子文件夹中的测试,但仅适用于可被视为模块的子文件夹(例如包含 __init__ .py 文件)

关于python - 如何让 Pycharm 从测试文件夹递归运行所有 python 单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53666197/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com