在以前的Plone版本中,QuickInstaller会自动删除一些卸载时间。浏览器层和资源注册表资源就是这种情况。现在,在Plone 5中,最佳实践是包括GenericSetup配置文件以显式卸载那些Thins。
我关注了Keul的有关卸载的博客文章,并将browserlayer.xml
文件添加到程序包卸载配置文件中,如下所示:
<?xml version="1.0"?>
<layers>
<layer name="collective.fingerpointing" remove="true" />
</layers>
但我的包裹没有将其移除。
有什么提示吗?
代码在:https : //github.com/collective/collective.fingerpointing/pull/6
测试结果在:https : //travis-ci.org/collective/collective.fingerpointing/jobs/110195902
我只是完成附加组件兼容性的一项测试!
问题出在测试中:我正在测试接口名称,另一个程序包(在我的情况下为plone.app.event)具有一个具有相同名称(IBrowserLayer
)的浏览器层:
(Pdb) registered_layers()[4]
<InterfaceClass plone.app.event.interfaces.IBrowserLayer>
我在用这个:
def test_addon_layer_removed(self):
from plone.browserlayer.utils import registered_layers
layers = [l.getName() for l in registered_layers()]
self.assertNotIn('IBrowserLayer', layers)
我将其更改为以下内容:
def test_addon_layer_removed(self):
from collective.fingerpointing.interfaces import IBrowserLayer
from plone.browserlayer.utils import registered_layers
self.assertNotIn(IBrowserLayer, registered_layers())
这就是为什么进行正确的测试很重要。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句