In a previous post, I humbly suggested that Embarcadero publish their unit tests for Delphi. I still think it is a good idea, but I understand if they don’t do it. They do have a lot to do.
So I thought – after suggestions from folks that read the post, including Kenneth Cochran – that it would be a good idea to just go ahead and start our own community project. So I did.
The Delphi Unit Tests Project
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!