This is a pretty straight-forward project – it is merely a set of unit tests for Delphi’s RTL. You can find out the basics on the home page of the wiki, where you’ll also find further information about writing tests, etc. It’s a wiki, so it will continue to be expanded. I’m kind of weird in that I actually enjoy writing unit tests, so I’ve been adding tests over the last week or so.

This is a community project based on Mercurial. That means that anyone can fork it, add tests, and then submit a pull request. We’ve already had four or five submissions, and I’m really appreciative. It’s quite easy to contribute, and you can write tests for anything you like. Any submitted tests must pass, of course.

We are also using the new Delphi unit testing framework, DUnitX. It is still a bit rough around the edges, but hopefully this will be an impetus to get it fully up to speed. I’ve volunteered to write the GUI runner, but there are some architectural issues that need to be taken care of. Right now, you can output to NUnit xml and the console. DUnitX is attribute based and really easy to use.

Things I’d like to eventually get done:

I’d like to get at least one test for everything we can in the RTL.

I’d like to figure out a way to have tests written for QualityCentral reports. The tests could “pass”, proving the bug exists, and then when they “fail”, that could show that the bug has been fixed.

I’d love to see our tests eventually get integrated into the Embarcadero internal build. That would be really cool.

In any event, come join the cause and write a test. Even one single test would be fine!

My Book

Stuff You Can Find Here

A Pithy Quote for You

"There's a fine line between fishing and just standing on the shore like an idiot."
– Steve Wright

Amazon Gift Cards

General Disclaimer

The views I express here are entirely my own and not necessarily those of any other rational person or organization. However, I strongly recommend that you agree with pretty much everything I say because, well, I'm right. Most of the time. Except when I'm not, in which case, you shouldn't agree with me.