Unit testing 如何测试具有大量RPC调用/数据库操作的代码?

Unit testing 如何测试具有大量RPC调用/数据库操作的代码?,unit-testing,web-services,testing,design-patterns,server,Unit Testing,Web Services,Testing,Design Patterns,Server,我正在开发一个与其他服务交互频繁的后端服务。它可怕地缺少单元测试,所以我真的想写一些测试来简化未来的开发 问题是,有很多RPC调用和数据库操作。例如,要完成操作A,首先对服务B进行RPC调用,然后从数据库C获取数据,最后将数据写入数据库D并返回响应。作为后端服务,它是许多此类操作的组合。我似乎不清楚如何正确地为这些操作编写测试 我的第一个猜测是重新构建代码,或者使用模拟测试,或者两者兼而有之。在我看来,重组整个代码库将是一项艰巨的任务,我不敢这样做。模拟测试会有点麻烦,因为涉及的服务/数据库太多

我正在开发一个与其他服务交互频繁的后端服务。它可怕地缺少单元测试,所以我真的想写一些测试来简化未来的开发

问题是,有很多RPC调用和数据库操作。例如,要完成操作A,首先对服务B进行RPC调用,然后从数据库C获取数据,最后将数据写入数据库D并返回响应。作为后端服务,它是许多此类操作的组合。我似乎不清楚如何正确地为这些操作编写测试

我的第一个猜测是重新构建代码,或者使用模拟测试,或者两者兼而有之。在我看来,重组整个代码库将是一项艰巨的任务,我不敢这样做。模拟测试会有点麻烦,因为涉及的服务/数据库太多,涉及的数据也很复杂。我不太确定如何用正确的方法来做

如果有人能至少在这件事上给我指点一下,我将不胜感激。我应该如何为代码编写单元测试?或者对于这种情况是否有更好的实践