Testing

Testing

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

connectTo

Full definitionarrow-up-right

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

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 angel_test Matchers can be found herearrow-up-right.

Next Up...

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

  2. Learn how to use the handy Angel CLIarrow-up-right.

Last updated