Another downside is we might have to implement every new method, which might be added in the HTTPClient e.g Patch, Delete, Put to our mock struct, making much harder to test and increasing the complexity while reading the code. If you change the Get method signature will affect Sync tests which doesn’t use this method. It’s a unnecessary coupling and we should get rid of.