On Friday, 15 July 2016 at 11:59:51 UTC, Bahman Movaqar wrote:
On 07/15/2016 04:16 PM, Jerry wrote:
Unittests have to be inside a module to be run on DMD atleast.
So putting module foo at top should fix it.
Strange. Still not getting picked up.
$ dmd --version
DMD64 D Compiler v2.071.0
Copyright (c) 1999-2015 by Digital Mars written by Walter
Bright
[app.d]
module app;
import std.stdio;
private int incBy1(int i) { return i + 1; }
unittest {
assert(incBy1(1) == 200);
}
void main() {
writeln(incBy1(1)); // which prints 2
}
[/app.d]
$ dub test
Generating test runner configuration '__test__library__' for
'library' (library).
Performing "unittest" build using dmd for x86_64.
dplay ~master: building configuration "__test__library__"...
Linking...
Running ./__test__library__
All unit tests have been run successfully.
There is no need for a module, but dub by default only checks
files in the 'source' folder.
For such simple tests you could also run them directly with rdmd
-unittest. There is an additional -main flag if you don't need a
main method.