У меня проблема с doctest, потому что я пытаюсь переименовать идентификаторы объекта типа контента в обработчике IObjectAddedEvent. Мое требование состоит в том, чтобы иметь идентификаторы, которые являются последовательными и зависят от контекста, например, CAM-001, CAM-002, BLK-001, BLK-002 и т. д.
Когда я добавляю объект вручную в браузере, обработчик событий правильно переименовывает идентификатор, но когда я пытаюсь создать его в doctest, он терпит неудачу вскоре после его добавления в контейнер. plone.dexterity addContentToContainer вызывает _setObject с исходным идентификатором, затем обработчик событий срабатывает и переименовывает идентификатор, а затем, когда _getObject использует исходный идентификатор, он, очевидно, не может найти объект, поэтому он бомбит с ошибкой атрибута.
Я создал продукт, чтобы проиллюстрировать это здесь https://github.com/mikejmets/wt.testrig. .
Я также пытался использовать plone.api в doctest, но это тоже не помогло.
Приветствуются все идеи.