2016-09-20 117 views
0

我的測試中正常工作時,我的目標是單一的功能(見「目標」字段中的圖像):Django的芹菜單元測試pycharm「無模塊名爲芹菜」

questionator.test_mturk_views.TestReport.submit 

然而,當我指定我目標包括所有的測試我questionator應用程序中:

questionator 

我得到這個錯誤:

Error ImportError: Failed to import test module: src.questionator.test_mturk_views Traceback (most recent call last):
File "C:\Python27\Lib\unittest\loader.py", line 254, in _find_tests module = self._get_module_from_name(name) File "C:\Python27\Lib\unittest\loader.py", line 232, in _get_module_from_name import(name) File "C:\Users\Andy\questionator_app\src__init__.py", line 5, in from .celery import app as celery_app # noqa ImportError: No module named celery

注意,我的T EST序列通過「環境變量」(見本在PIC太)包括我的設置:

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

我希望得到一些指導。祝福, Andy。

enter image description here

+0

取決於測試運行的順序以及您的設置順序,測試可能會嘗試在可用之前加載芹菜模塊。通常測試是按字母順序運行的,因此確保在'.test_mturk_views.'之前運行的任何東西都能夠加載芹菜的東西。 – blakev

回答

0

與最相同的問題(最有可能的我),

我曾跟隨用於獲取芹菜在我的項目工作正式tutorial。他們建議以下: enter image description here

只是把上次導入明確的解決我的問題:

from taskapp.celery import app as celery_app # noqa 

我會看看我是否能微調芹菜的創作者更新他們的教程(pull request)。