我通过PyCharm(ctrl-shift-F10)执行一个特定的测试
我得到这个错误:
Testing started at 18:12 ...
/home/guettli/simple21env/bin/python /snap/pycharm-community/188/plugins/python-ce/helpers/pycharm/_jb_unittest_runner.py --target simple21.tests.TermTests.test_str_of_sub_term
Launching unittests with arguments python -m unittest simple21.tests.TermTests.test_str_of_sub_term in /home/guettli/simple21env/src/simple21tree
Traceback (most recent call last):
File "/snap/pycharm-community/188/plugins/python-ce/helpers/pycharm/_jb_unittest_runner.py", line 35, in <module>
main(argv=args, module=None, testRunner=unittestpy.TeamcityTestRunner, buffer=not JB_DISABLE_BUFFERING)
File "/usr/lib/python3.6/unittest/main.py", line 94, in __init__
self.parseArgs(argv)
File "/usr/lib/python3.6/unittest/main.py", line 141, in parseArgs
self.createTests()
File "/usr/lib/python3.6/unittest/main.py", line 148, in createTests
self.module)
File "/usr/lib/python3.6/unittest/loader.py", line 219, in loadTestsFromNames
suites = [self.loadTestsFromName(name, module) for name in names]
File "/usr/lib/python3.6/unittest/loader.py", line 219, in <listcomp>
suites = [self.loadTestsFromName(name, module) for name in names]
File "/usr/lib/python3.6/unittest/loader.py", line 153, in loadTestsFromName
module = __import__(module_name)
File "/home/guettli/simple21env/src/simple21tree/simple21/tests.py", line 7, in <module>
from . import views
File "/home/guettli/simple21env/src/simple21tree/simple21/views.py", line 5, in <module>
from simple21.models import Term, SearchLog, GlobalConfig
File "/home/guettli/simple21env/src/simple21tree/simple21/models.py", line 1, in <module>
from django.contrib.auth.models import User
File "/home/guettli/simple21env/lib/python3.6/site-packages/django/contrib/auth/models.py", line 2, in <module>
from django.contrib.auth.base_user import AbstractBaseUser, BaseUserManager
File "/home/guettli/simple21env/lib/python3.6/site-packages/django/contrib/auth/base_user.py", line 47, in <module>
class AbstractBaseUser(models.Model):
File "/home/guettli/simple21env/lib/python3.6/site-packages/django/db/models/base.py", line 107, in __new__
app_config = apps.get_containing_app_config(module)
File "/home/guettli/simple21env/lib/python3.6/site-packages/django/apps/registry.py", line 252, in get_containing_app_config
self.check_apps_ready()
File "/home/guettli/simple21env/lib/python3.6/site-packages/django/apps/registry.py", line 135, in check_apps_ready
raise AppRegistryNotReady("Apps aren't loaded yet.")
django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet.
Process finished with exit code 1
Empty suite
我想我需要打电话给django.setup()
有没有办法避免在每个python测试文件中写入django.setup()
从命令行运行测试是有效的。这个问题是关于直接从PyCharm调用一个特定的测试
我切换到pytest-django
如果您像这样配置
pytest.ini
,它可以正常工作:异常“django.core.exceptions.AppRegistryNotReady:尚未加载应用程序”现在已消失
对于测试用例,您实际上只需要导入
from django.test import TestCase
您不需要运行.setup()
下面是一个最小的测试脚本
如果运行
python manage.py test
,是否会出现相同的错误?你是在用app_name/tests.py
写测试吗相关问题 更多 >
编程相关推荐