If I'm simply mocking the API call & response between Microservice A and B, how does that enforce the contract for B, in that, B requires parameters 1, 2, and 4?
Se si prende in giro il test in modo tale che il servizio A trasmetta i dati corretti nel formato corretto e elabori il risultato giusto e il servizio B accetta i dati previsti e restituisce il risultato corretto nel formato corretto. Dal momento che le unità fanno ciò che dovrebbero fare, hai maggiore fiducia che il codice funzioni correttamente.
Per verificare che ogni unità di aspettative del codice corrisponda effettivamente, puoi collegarle tra loro ed eseguire un test di integrazione. (O farlo manualmente tramite un test del fumo). Generalmente, le cose non vengono prese in giro durante un test di integrazione, perché ciò sconfigge lo scopo.