digitalmars.D.learn - How to do unittests
- Namal (4/4) Sep 30 2015 Hello,
- Rikki Cattermole (7/11) Sep 30 2015 Example file with loads of unittests:
- Namal (3/17) Sep 30 2015 can't I do unittest in the main?
- qsdf (18/38) Sep 30 2015 D unit tests are like a stack of free functions. You put them
- Namal (4/43) Oct 02 2015 So do I understand it right that it stops after the first failed
- Atila Neves (4/35) Oct 02 2015 http://code.dlang.org/packages/unit-threaded
- Jonathan M Davis via Digitalmars-d-learn (8/11) Oct 02 2015 Once a unittest block within a module has a failure in it, then no more
Hello, can someone give me a complete example please how to do unittests? I tried this with the example from german wikipedia, but the flag -unittest didn't make any difference.
Sep 30 2015
On 01/10/15 1:59 AM, Namal wrote:Hello, can someone give me a complete example please how to do unittests? I tried this with the example from german wikipedia, but the flag -unittest didn't make any difference.Example file with loads of unittests: https://github.com/rikkimax/alphaPhobos/blob/master/source/std/experimental/uri.d If you were to compile it e.g. dmd uri.d it won't be much use (unittest wise). You will need to dmd -unittest uri.d to compile them in. Don't forget to do the same for your main function. When you run the final executable the tests will execute before your main function does.
Sep 30 2015
On Wednesday, 30 September 2015 at 13:03:52 UTC, Rikki Cattermole wrote:On 01/10/15 1:59 AM, Namal wrote:can't I do unittest in the main?Hello, can someone give me a complete example please how to do unittests? I tried this with the example from german wikipedia, but the flag -unittest didn't make any difference.Example file with loads of unittests: https://github.com/rikkimax/alphaPhobos/blob/master/source/std/experimental/uri.d If you were to compile it e.g. dmd uri.d it won't be much use (unittest wise). You will need to dmd -unittest uri.d to compile them in. Don't forget to do the same for your main function. When you run the final executable the tests will execute before your main function does.
Sep 30 2015
On Wednesday, 30 September 2015 at 14:20:28 UTC, Namal wrote:On Wednesday, 30 September 2015 at 13:03:52 UTC, Rikki Cattermole wrote:D unit tests are like a stack of free functions. You put them separatly. when there's a main: dmd -unittest a.d -- module a; void main(){} unittest{} -- when there is no main: (like std.uri): dmd -main -unittest a.d -- module a; unittest{} -- the -main switch adds a dummy main function so that the output can be executed. But most of the time you'll think that nothing happens because the tests succeed...On 01/10/15 1:59 AM, Namal wrote:can't I do unittest in the main?Hello, can someone give me a complete example please how to do unittests? I tried this with the example from german wikipedia, but the flag -unittest didn't make any difference.Example file with loads of unittests: https://github.com/rikkimax/alphaPhobos/blob/master/source/std/experimental/uri.d If you were to compile it e.g. dmd uri.d it won't be much use (unittest wise). You will need to dmd -unittest uri.d to compile them in. Don't forget to do the same for your main function. When you run the final executable the tests will execute before your main function does.
Sep 30 2015
On Wednesday, 30 September 2015 at 14:44:20 UTC, qsdf wrote:On Wednesday, 30 September 2015 at 14:20:28 UTC, Namal wrote:So do I understand it right that it stops after the first failed test? Is it possible to continue and get a list of all failed tests?On Wednesday, 30 September 2015 at 13:03:52 UTC, Rikki Cattermole wrote:D unit tests are like a stack of free functions. You put them separatly. when there's a main: dmd -unittest a.d -- module a; void main(){} unittest{} -- when there is no main: (like std.uri): dmd -main -unittest a.d -- module a; unittest{} -- the -main switch adds a dummy main function so that the output can be executed. But most of the time you'll think that nothing happens because the tests succeed...On 01/10/15 1:59 AM, Namal wrote:can't I do unittest in the main?Hello, can someone give me a complete example please how to do unittests? I tried this with the example from german wikipedia, but the flag -unittest didn't make any difference.Example file with loads of unittests: https://github.com/rikkimax/alphaPhobos/blob/master/source/std/experimental/uri.d If you were to compile it e.g. dmd uri.d it won't be much use (unittest wise). You will need to dmd -unittest uri.d to compile them in. Don't forget to do the same for your main function. When you run the final executable the tests will execute before your main function does.
Oct 02 2015
On Friday, 2 October 2015 at 10:22:40 UTC, Namal wrote:On Wednesday, 30 September 2015 at 14:44:20 UTC, qsdf wrote:http://code.dlang.org/packages/unit-threaded https://github.com/D-Programming-Language/phobos/pull/3207 AtilaOn Wednesday, 30 September 2015 at 14:20:28 UTC, Namal wrote:So do I understand it right that it stops after the first failed test? Is it possible to continue and get a list of all failed tests?[...]D unit tests are like a stack of free functions. You put them separatly. when there's a main: dmd -unittest a.d -- module a; void main(){} unittest{} -- when there is no main: (like std.uri): dmd -main -unittest a.d -- module a; unittest{} -- the -main switch adds a dummy main function so that the output can be executed. But most of the time you'll think that nothing happens because the tests succeed...
Oct 02 2015
On Friday, October 02, 2015 10:22:38 Namal via Digitalmars-d-learn wrote:So do I understand it right that it stops after the first failed test? Is it possible to continue and get a list of all failed tests?Once a unittest block within a module has a failure in it, then no more unittest blocks within that module are run. However, unittest blocks in other modules will still be run. So, if you have failures across multiple modules, then you'll see multiple failures, but if it's just one module, then you'll only see the first one, because any further tests within the module won't even have been run. - Jonathan M Davis
Oct 02 2015