[Unit tests] Mocking D objects

Andrey saasecondbox at yandex.ru
Wed Aug 22 08:33:36 UTC 2018


Hello,
I know that D has build-in unit tests. If so, what mechanism D 
provides for mocking objects?
For example:
>struct WebParser
>{
>    // ...
>
>    int download(string path)
>    {
>        SomeHttpClient client(path);
>        auto result = client.request(path, 10, "Qwerty");
>
>        // ...
>
>        return result.getSomething();
>    }
>}

Here I want to replace struct/class SomeHttpClient from 3d-party 
library with my own test implementation. Something like this 
maybe:
unittest
{
     SomeMagicMockMechanism!(SomeHttpClient, MyMockedClient);

     WebParser parser;
     auto value = parser.download("www.example.com"); // uses 
MyMockedClient.request
     assert(value == 10);

}


More information about the Digitalmars-d-learn mailing list