为什么PyCharm无法运行单元测试?

时间:2017-09-07 10:36:24

标签: python-2.7 unit-testing pycharm python-unittest

在我的PyCharm(2016.3.3)项目中,我有一个名为'tests'的包文件夹,它包含一些测试模块(使用unittest),例如'test_A.py,''test_B.py。'

当我尝试在其中一个模块中运行测试,或者在整个'tests'包​​中进行所有测试时,由于nose_helper.failure.Failure,我得到AttributeError: 'module' object has no attribute 'test_A'(对于其他测试模块也是如此) )。

当我在PyCharm之外运行模块时,它们可以毫无问题地工作。

有谁知道原因,以及如何解决这个问题?

这里有许多类似的问题,例如123等,但这些都没有解决我的问题。

1 个答案:

答案 0 :(得分:0)

不知道具体原因,但在我的PyCharm(2016.3.3)中,我能够通过编辑运行配置来解决问题:

从菜单栏中选择Run-> Edit Configurations,然后选择您的配置,并在“Unittests”下的“Configuration”选项卡中选中“仅检查unittest.TestCase的子类。”

要设为此默认设置:运行 - >编辑配置,然后选择默认值 - > Python测试 - >单元测试,并再次选中相同的框。

此答案基于ancient PyCharm support post

- 编辑 -

如果测试模块试图导入一个不存在的类,例如在PyCharm 2018.3中也会发生这种情况。 (使用django)from myapp.models import MyModelA, MyModelB其中MyModelB不存在。在这种情况下,修复导入应该可以解决问题。