Ошибка импорта с использованием plone.app.testing - PullRequest
3 голосов
/ 25 октября 2011

В настоящее время я работаю через Professional Plone 4 Development, используя унифицированный установщик для 4.1.2. Я не уверен, что использование установщика поверх явного процесса компоновки в книге вызывает проблемы, но у меня много проблем, связывая примеры с фактической установкой. Сейчас у меня проблема с запуском тестов для создаваемого пакета политики.

В пакете setup.py , у меня есть:

extras_require={
    'test': ['plone.app.testing',]
},

В velop.cfg :

[buildout]
parts +=
    test

[test]
recipe = zc.recipe.testrunner
defaults = ['--auto-color', '--auto-progress']

И, наконец, testing.py импорт:

from plone.app.testing import (
    PloneSandboxLayer,
    applyProfile,
    PLONE_FIXTURE,
    IntegrationTesting,
)

После запуска buildout с использованием конфигурации разработки, тестовый запуск устанавливается, как ожидается, в bin / test. Но попытка запустить тесты для этого пакета дает мне следующее:

$ bin/test -s ctcc.policy
bin/test:239: DeprecationWarning: zope.testing.testrunner is deprecated in favour of zope.testrunner.
/opt/plone41/buildout-cache/eggs/zope.testing-3.9.6-py2.6.egg/zope/testing/testrunner/formatter.py:28: DeprecationWarning: zope.testing.exceptions is deprecated in favour of zope.testrunner.exceptions
  from zope.testing.exceptions import DocTestFailureException
Test-module import failures:

Module: ctcc.policy.tests

Traceback (most recent call last):
  File "/opt/plone41/zeocluster/src/ctcc.policy/ctcc/policy/tests.py", line 2, in <module>
    from ctcc.policy.testing import CTCC_POLICY_INTEGRATION_TESTING
  File "/opt/plone41/zeocluster/src/ctcc.policy/ctcc/policy/testing.py", line 1, in <module>
    from plone.app.testing import (
ImportError: No module named testing

Что мне нужно сделать, чтобы использовать plone.app.testing?

Если проблема связана с использованием zope.testing.testrunner вместо zope.testrunner, где конкретно это указано? Я не могу найти ссылку на это ни в одном из конфигов buildout.

Спасибо.

1 Ответ

7 голосов
/ 25 октября 2011

Вы должны указать яйцо в тестовой строфе с помощью клавиши extra_requires, например:

[test]
recipe = zc.recipe.testrunner
eggs =
    my.package [test]
defaults = ['--auto-color', '--auto-progress']

Дополнительная информация:

...