pycharm生成错误的测试目标路径

时间:2019-06-17 09:22:21

标签: python pycharm

使用Pycharm 2017.1.3(但在其他版本中也看到了)- 在运行单个测试(右键单击测试并运行)时,自动创建的测试目标配置是错误的-在类名之前放置点(。)而不是冒号(:),因此看起来像是一个函数。因此,在运行单个测试时,出现此错误:

Traceback (most recent call last):
File "/Users/...../python3.6/site- 
packages/nose/failure.py", line 39, in runTest
raise self.exc_val.with_traceback(self.tb)
File "/Users/...../python3.6/site- 
packages/nose/loader.py", line 523, in makeTest
return self._makeTest(obj, parent)
File "/Users/...../python3.6/site- 
packages/nose/loader.py", line 576, in _makeTest
if issubclass(parent, unittest.TestCase):
TypeError: issubclass() arg 1 must be a class

例如,此目标:

myproject.utils.tests.test_integration.MyNewService.test_use_case

应为:

myproject.utils.tests.test_integration:MyNewService.test_use_case

2 个答案:

答案 0 :(得分:0)

无论PyCharm是否发生这种情况,NoseTest都在文件名和类之间寻找:分隔符

如果您使用其他测试服运行,它将运行

通常,PyCharm正在运行测试助手以运行测试

https://github.com/JetBrains/intellij-community/blob/master/python/helpers/pycharm/django_test_manage.py

如果您覆盖其默认值(例如更改TEST_RUNNER值),则可能会遇到问题

答案 1 :(得分:0)

经过调查,问题似乎出在自定义settings.py文件名上。

PyCharm不会自动发现它,因此需要在其中手动配置

首选项|语言和框架| Django |设置