We’re using z3c.testsetup for quick and easy test setup. I wrote about our test setup with layers and z3c.testsetup a few weeks ago. We’ve had problems with that specific setup and I’ve spend a day devising a new setup and implementing it in three projects.
With the customary ftesting.zcml
in the tests/ directory, I’m using the
functional-zcml-layer
marker to point at that file. If z3c.testsetup
sees this, it sets up a functional testing layer for that ftesting.zcml
file.
Other tests need some additional setup (in my case grokking of some extra
fixtures). A fixtures.zcml
includes the ftesting.zcml and does the
extra work. The tests with functional-zcml-layer: fixtures.zcml
are run
on a different functional test layer.
A setup method sets up globals for the testcase. Another setup method also
sets up a demo site and some users. Depending on the needs, I put a
setup: path.to.setup_method
in my doctest and everything is set up just
fine.
The top of such a doctest looks like:
.. :doctest:
.. :functional-zcml-layer: ftesting.zcml
.. :setup: path.to.setup_method
Now for the timely update I mentioned in the title. We also have a test
script that runs the tests of the project itself plus many dependencies. And
z3c.testsetup mixed up two test layers that both pointed at
ftesting.zcml
. project1/ftesting.zcml and project2/ftesting.zcml, but
they got treated as one and the same test layer. Sigh.
But just today, z3c.testsetup 0.4 was released that fixes this very issue. A patch by Jonathan Ballet. Thanks a lot! Just-in-time bug fixing :-)
My name is Reinout van Rees and I program in Python, I live in the Netherlands, I cycle recumbent bikes and I have a model railway.
Most of my website content is in my weblog. You can keep up to date by subscribing to the automatic feeds (for instance with Google reader):