Ошибка импорта с помощью plone.app.testing

#testing #plone #buildout

#тестирование #plone #сборка

Вопрос:

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

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

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

В development.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,
)
  

После запуска сборки с использованием конфигурации разработки, тестовый бегун устанавливается, как и ожидалось, в 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, где именно это указано? Я не могу найти ссылку на него ни в одном из конфигураций сборки.

Спасибо.

Ответ №1:

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

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

Подробная информация:

Комментарии:

1. В свою защиту я прочитал документы, на которые вы ссылаетесь, я просто недостаточно углубился в документы, на которые он ссылался: pypi.python.org/pypi /…