Hi @xiao ma, I would say it depends on your context to some extent. There are some teams who mix mocks with real APIs e.g. you might run your real login service but mock your payments service while testing. I would suggest you mock anything where it’s hard to set up the test conditions you need, or that the real API’s sandbox is slow/flakey/incorrect in some way.
Having said that there are teams who test each service completely isolated via mocks (us included). This can have significant advantages in terms of speed and reliability of test execution, not to mention flexibility in defining both happy path and negative test conditions.