Testing 在Plone 5上的测试中自动安装默认内容类型

Testing 在Plone 5上的测试中自动安装默认内容类型,testing,plone,fixtures,plone-5.x,Testing,Plone,Fixtures,Plone 5.x,我一直在尝试在我们的一些附加组件中添加与Plone 5的兼容性,我发现了一种我想要避免的模式:似乎我必须在测试夹具上手动安装默认内容类型,如下所示: ... PLONE\u版本=api.env.PLONE\u版本 类FixturePloneSandboxLayer: defaultBases=PLONE_夹具, def setUpZopeself、应用程序、配置上下文: 如果PLONE_版本>='5.0': 导入plone.app.contenttypes self.loadZCMLpackag

我一直在尝试在我们的一些附加组件中添加与Plone 5的兼容性,我发现了一种我想要避免的模式:似乎我必须在测试夹具上手动安装默认内容类型,如下所示:

... PLONE\u版本=api.env.PLONE\u版本 类FixturePloneSandboxLayer: defaultBases=PLONE_夹具, def setUpZopeself、应用程序、配置上下文: 如果PLONE_版本>='5.0': 导入plone.app.contenttypes self.loadZCMLpackage=plone.app.contenttypes ... def SETUPLONESITESELF,入口: 如果PLONE_版本>='5.0': self.applyProfileportal,'plone.app.contenttypes:default' ... 固定装置=固定装置 ...
有什么办法可以避免这种情况吗?

据我记忆所及,依靠PLONE\u APP\u CONTENTTYPES\u FIXTURE就足够了。 类似这样的未经测试:

try:
    from plone.app.contenttypes.testing import PLONE_APP_CONTENTTYPES_FIXTURE
except ImportError:
    PLONE_APP_CONTENTTYPES_FIXTURE = None


class Fixture(PloneSandboxLayer):
    if PLONE_VERSION >= '5.0':
        defaultBases = (PLONE_APP_CONTENTTYPES_FIXTURE,)
    else:
        defaultBases = (PLONE_FIXTURE,)

据我记忆所及,依靠PLONE_应用程序_内容类型_夹具就足够了。 类似这样的未经测试:

try:
    from plone.app.contenttypes.testing import PLONE_APP_CONTENTTYPES_FIXTURE
except ImportError:
    PLONE_APP_CONTENTTYPES_FIXTURE = None


class Fixture(PloneSandboxLayer):
    if PLONE_VERSION >= '5.0':
        defaultBases = (PLONE_APP_CONTENTTYPES_FIXTURE,)
    else:
        defaultBases = (PLONE_FIXTURE,)
我的结局是:我的结局是: