On Sunday, 16 March 2014 at 08:22:04 UTC, safety0ff wrote:
On Sunday, 16 March 2014 at 07:59:33 UTC, Sergei Nosov wrote:
Hi!

Suppose I have a small .d script that has a main. Is there any simple way to just run the unit tests without running main at all?

Here's the first thing that came to mind:
If you never want to both unit tests and regular main:
---- code begins ----
import std.stdio;
version(unittest) void main(){}
else
void main() { writeln("Hello world!"); }

unittest { writeln("Hello unit testing world!"); }
---- code ends ----

If you sometimes want to have your normal main with unit testing you can replace "version(unittest)" with "version(nopmain)" or some other custom version identifier and compile with -version=nopmain when you want the dummy main.

Thx! That's better, but I think -main switch could be made to work like 'add or replace main by stub' instead of just 'add'. I don't think it'll hurt anybody, what do you think?

Reply via email to