Ranked in these QuestionsQuestion Ranking
Pro Lots of debugging support
Unmatched requests fail with a 503 response automatically, and include a detailed explanation of why they didn't match, along with example code you can use to match them. Enabled the debug option adds logging for every received request, showing which rule it matched and why, and making it super easy to tell why your tests are failing.
Pro Uses a real HTTP server
Using real HTTP or HTTPS makes testing much more accurate, since it shows the exact real behaviour that will happen when your requests are sent, and allows testing a much wider variety of cases (e.g. subprocesses). No noticeable slowdown - localhost servers are still effectively as fast and reliable as doing it in process, since the traffic never leaves your machine.
Pro Universal client
Mock HTTP with the same code for both browsers & node.js