Unit tests in D
Walter Bright
newshound1 at digitalmars.com
Wed May 5 11:15:05 PDT 2010
bearophile wrote:
> Walter Bright:
>> But why? Just use: foo(10);
>
> I think you are missing something important here.
>
> Static asserts (or other implicit errors) inside a template, etc, test that
> some input types are correct, some template input values are in the correct
> range, etc.
>
> In this thread we are talking about unittests. The purpose of a unit Inside a
> unit test is to test that something that can be called Foo works as
> specified. Working as specified means such Foo must return the correct
> outputs when the inputs are in its intended range of possible inputs
> (otherwise the unittest has to fail), and it must produce a compile time
> assert, run time assert, or throw an exception if the input values are
> outside the allowed ones (otherwise the unittest has to fail again).
>
> So the purpose of the feature I am talking here is for the group of those
> unittests, to make sure something asserts at compile time (or otherwise
> doesn't compile) when the compile-time inputs are wrong.
>
> So I need something that inside the unittest asserts at compile time if Foo
> does not asserts at compile-time (or otherwise refuses to work).
I'm sorry, I simply don't understand this. If you want to test that something
compiles in a unit test, just write the code. The compiler will let you know if
it doesn't compile.
More information about the Digitalmars-d
mailing list