Testing

Testing

Dart already has fantastic testing support, through a library of testing helpers that will make test writing faster. The following functions are exported by package:angel3_test, and will make your testing much easier.

connectTo

Full definition

This function will start app on an available port, and return a TestClient instance (based on package:angel3_client) configured to send requests to the server. The client also supports session manipulation.

void main() {
  TestClient client;

  setUp(() async {
    client = await connectTo(myApp);
  });

  // Shut down server, and cancel pending requests
  tearDown(() => client.close());

  test('hello', () async {
    // The server URL is automatically prepended to paths.
    // This returns an http.Response. :)
    var response = await client.get('/hello');
  });
}

isJson

A Matcher that asserts that the given http.Response equals value when decoded as JSON. This uses test.equals internally, so anything that would pass that matcher passes this one.

hasStatus

A Matcher that asserts the given http.Response has the given status code.

More Matchers

The complete set of angel3_test Matchers can be found here.

Next Up

  1. Find out how to handle errors in an Angel3 application.

  2. Learn how to use the handy Angel3 CLI.

Last updated

Was this helpful?