>I was pinged today on twitter by John Snelson asking if I had been running the XQuery test suite against a XPath 2.0 processor. Those that have been following along know about my battle with a demon known as PsychoPath.
PsychoPath runs the known portion of the core and schema aware portions of the XQuery test suite that are marked as being compatible with XPath 2.0. It does a pretty good job at it and passes nearly 100%. I’m never going to claim full compliance with the test suite because there are portions of the test suite that are miss-marked. Some tests are marked as XPath 2.0 but aren’t, and others aren’t marked as being able to be run as XPath 2.0 tests that probably should be.
With this said, a while ago Uncle Bob Martin tweeted about running 6000 tests or so in a couple of minutes. The important thing here is that your unit tests should be blazingly fast. If they are not fast, then developers will tend to skip running the tests.
PsychoPath runs the known 8000+ tests in just under 2 minutes. That’s fast enough for the committers to keep doing TDD development, and running the tests before they check in code. If developers skip tests it introduces possible build failures when those tests are run on the build machine. If the build is a long running build, this is not giving the developers the early and rapid feedback they need. They tend to start to ignore the builds, or test failures are ignored. Not a good thing for the health of your project.
Keep your tests fast, and your code can be healthier as well.
For those interested, the PsychoPath unit tests results are available for anybody to view, including run times for individual tests.