zope.testrunner it has the really helpful layers feature which is heavily used in Zope and especially Plone. There is no equivalent in pytest for this concept. This would require to rewrite the whole test infrastructure or use a tool like gocept.pytestlayer which coverts layers into purest fixtures – but has its own problems doing this.

Improve the situation of continuous integration for the Zope packages:

Sometimes tests of a package break because a dependency has changed its behaviour. This does not get noticed until someone makes a change to the package which triggers Travis-CI. It is sometimes really hard to find out which change in which package caused the test failures when the tests are only run at code changes. (Current example: zope.testbrowser which broke because of a change in WebTest.)

Hanno activated the cron jobs Travis-CI beta feature for most of the Zope related packages. (This currently requires clicking in the Travis-CI UI and still has to be done for most of the ZTK packages.) Currently it is not clear what happens if such a cron job fails.

The Jenkins of the Plone Foundation is also able to test the Zope packages: it could be configured to run them on a regular basis.

Tres suggests to use bin/test instead of python setup.py test to run the tests as the latter one is no longer liked by the Python Packaging Authority folks.

As one of the maintainers of jenkins.plone.org, we could do, just like we do with Plone, an integration so that any change on any Zope package triggers a jenkins job that runs all the tests. Would that be something you are interested in?

First of all though, we should have a working “buildout.coredev” for Zope, i.e. a repository with all the mr.developer sources and checkouts that can be used to assemble all the packages and create the test runner.