我目前正在使用Professional Plone 4 Development,同时使用4.1.2的统一安装程序。我不确定在书中的显式构建过程中使用安装程序是否会导致问题,但是我在将示例与安装的实际情况捆绑在一起时遇到了很多麻烦。现在,我遇到了为我正在创建的策略包运行测试的问题。
在包的 setup.py 中,我有:
extras_require={
'test': ['plone.app.testing',]
},
在 develop.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配置中找到它的引用。
感谢。
答案 0 :(得分:7)
你必须使用extra_requires键在test节中指定你的蛋,如下所示:
[test]
recipe = zc.recipe.testrunner
eggs =
my.package [test]
defaults = ['--auto-color', '--auto-progress']
更多信息: