Manufacture dart:io HttpRequests, HttpResponses, HttpHeaders, etc. This makes it possible to test server-side Dart applications without having to ever bind to a port.
This package was originally designed to testing Galileo applications smoother, but works with any Dart-based server. :)
var rq = new MockHttpRequest('GET', Uri.parse('/foo')); await rq.close(); await app.handleRequest(rq); // Run within your server-side application var rs = rq.response; expect(rs.statusCode, equals(200)); expect(await rs.transform(UTF8.decoder).join(), equals(JSON.encode('Hello, world!')));
More examples can be found in the included tests.