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:angel_test
, and will make your testing much easier.
connectTo
This function will start app
on an available port, and return a TestClient
instance (based on package:angel_client
) 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 here.
Next Up…
- Find out how to handle errors in an Angel application.
- Learn how to use the handy Angel CLI.