If you don't think that simply using assertions for unit tests is good enough, then I'd suggest that you look at https://code.dlang.org/packages/unit-threaded
There's also https://code.dlang.org/packages/fluent-asserts which shows detailed error messages.