lundi 6 avril 2015

In-memory File for unittesting

I'd like to write a unit-test for a method that prints to the standard output. I have already changed the code so it prints to a passed-in File instance instead that is stdout by default. The only thing I am missing is some in-memory File instance that I could pass-in. Is there such a thing? Any recommendation? I wish something like this worked:



import std.stdio;

void greet(File f = stdout) {
f.writeln("hello!");
}

unittest {
greet(inmemory);
assert(inmemory.content == "hello!\n")
}

void main() {
greet();
}


Any other approach for unit-testing code that prints to stdout?


Aucun commentaire:

Enregistrer un commentaire