If they actually do this across their code they will never have to run "real service calls", because those services are also tested the same way. It's mocking all the way down.
If they actually do this across their code they will never have to run "real service calls", because those services are also tested the same way. It's mocking all the way down.
An issue I see with this is that there's a potential window when tests pass with bad data. For example, tests using a mock and the mock is periodically verified with a service call. The mock could become bad data, but won't be marked as bad until the next service call verification. Until that happens, the tests using the mock will all pass. It's not clear from the article how they address this.
That's how I would do it, at least.
If you have task-oriented build system with dependencies (like Google does with Blaze), it'd fit right in.
Though depending on how you deploy, you may have old and new services at different versions. Assuming a level backwards/forwards compatibility may be reasonable.