On Sat, 06 Nov 2010 13:37:02 +0900, Jonathan M Davis <jmdavisp...@gmx.com>
wrote:
I'm proposing a possible new module for phobos which would be called
std.unittests. The code and DDoc file can be found here:
http://is.gd/gLH9Q
Or you can look at the code here directly (though it has poor
highlighting):
http://ideone.com/EOlod
The module contains a set of helper functions for unit tests which are an
improvement over simply using assert. I have them to be very helpful in
the unit
tests in my proposal for std.datetime. My unit tests are more concise,
easier to
read, and much easier to debug because of them. assertEqual() and
assertExcThrown() have been particularly useful.
assert is a great tool, but simply telling you that an assertion failed
is not
as useful as telling you _how_ it failed, and a function like
assertExcThrown()
(which, as you may guess, asserts that a particular exception was thrown
by a
particular function call) really reduces the boiler plate code that you
have to
write for testing what it tests. So, I find such helper functions are
extremely
useful.
Because I have used them so extensively in std.datetime, they are pretty
much
either going to have to be added as a module to Phobos or added as
private
helper functions in std.datetime. Personally, I think that they (or
something
very similar to them) merit being added as a new module in Phobos, which
can be
expanded upon as others come up with particularly useful unit testing
functions.
So, I'm requesting that the folks here on the list have a look at my
module and
review it for possible inclusion in Phobos. I don't know what Andrei's
position
on them is (he rightly focused his review of my datetime code on the
date/time
functionality and API rather than its unit tests and didn't mention my
unit
testing functions at all), but I think that such a module would be of
great
worth and would like other's opinions on it.
- Jonathan M Davis
I don't know this module's usability, but is getExcMsg useful?
I can't imagine useful situation.
In addition, I grepped your datetime.d and getExcMsg not found :(
If possible, I want the mock, stub and related features.
Masahiro