On Friday, 1 November 2013 at 16:24:09 UTC, Gary Willoughby wrote:
On Friday, 1 November 2013 at 15:32:54 UTC, Daniel Davidson wrote:
An alternative is to move the import statements in test1.d out of the unittest block, which becomes a function, to file scope. Then if you have multiple unittests in test1.d all are covered and the symbols are available.

...
version(unittest) {
 import methods;
}
unittest
{
 import std.stdio;
 writeln("test1 unit test");
 S s;
 assert(s.x.nothing());
}

Thanks
Dan

Ah right, if the unit tests are transformed into a function then is this a problem with the scoped import rules? It seems really odd, as the compiler seems to strip out the imports within the unit test block when that module is imported into another. This doesn't seem to affect the standard library only user modules.

Any one else got any input to this?

Reply via email to