On Friday, 17 April 2020 at 16:56:57 UTC, Russel Winder wrote:
Hi,

Thinking of trying to do the next project in D rather than Rust, but…

Rust has built in unit testing on a module basis. D has this so no problem.

Rust allows for integration tests in the tests directory of a project. These are automatically build and run along with all unit tests as part of "cargo test".

Does D have any integrated support for integration tests in the way
Rust does?

D does not recognise any special testing directories afaik. But you'll get the same affect as in rust if you have your integration tests in a file that is not the modules you are testing and run it after building the main library - or during even.

With Dub it's quite easy to set up, you can see the optional package as an example [0]. There's a tests directory that does not have access to the optional package's internals. There's also a unittest-compat configuration in dub.json that tests the package alongside vibed (another d package)

For auto mocking, the only thing I've see that provides some functionality is the unit-threaded package. But I've never tried it.

[0]: https://github.com/aliak00/optional

Reply via email to