当我的目标是单个函数时,我的测试工作正常(请参阅图像中的“目标”字段):
questionator.test_mturk_views.TestReport.submit
但是,当我指定我的目标在我的提问者应用程序中包含所有测试时:
questionator
我收到此错误:
错误ImportError:导入测试模块失败: src.questionator.test_mturk_views Traceback(最近一次调用最后一次):
在_find_tests中输入文件“C:\ Python27 \ Lib \ unittest \ _ loader.py”,第254行 module = self._get_module_from_name(name)文件“C:\ Python27 \ Lib \ unittest \ loader.py”,第232行,in _get_module_from_name 导入(名称)文件“C:\ Users \ Andy \ questionator_app \ src__init __。py”,第5行,在 来自.celery导入应用程序as celery_app #noqa ImportError:没有名为celery的模块
请注意,我的测试通过“环境变量”包含我的设置(请参见图片中的内容):
DJANGO_SETTINGS_MODULE=questionator_app.settings.development;PYTHONUNBUFFERED=1
芹菜documentation提到“使用自定义测试运行器来测试芹菜”,但这是在现已解散的djcelery包中。我做了虽然复制/粘贴/调整this mentioned test runner并按照描述使用它,但我得到了同样的错误。
不幸的是,使用CELERY_ALWAYS_EAGER也无效http://docs.celeryproject.org/en/latest/configuration.html#celery-always-eager
我很感激一些指导。最好的祝福, 安迪。
答案 0 :(得分:0)
有同样的问题(很可能是我),
我跟随官方tutorial让芹菜在我的项目中工作。他们建议如下:
只是将上一次导入显式解决了我的问题:
from taskapp.celery import app as celery_app # noqa
我会看看我是否可以轻推Celery的创作者来更新他们的教程(pull request)。