26 lines
1.2 KiB
Markdown
26 lines
1.2 KiB
Markdown
# Mock HTTP Request
|
|
|
|

|
|
[](https://dart.dev/null-safety)
|
|
[](https://gitter.im/angel_dart/discussion)
|
|
[](https://github.com/dart-backend/angel/tree/master/packages/mock_request/LICENSE)
|
|
|
|
**Forked from `mock_request` to support NNBD**
|
|
|
|
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 make testing [Angel3](https://angel3-framework.web.app/) applications smoother, but works with any Dart-based server.
|
|
|
|
## Usage
|
|
|
|
```dart
|
|
var rq = 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 test cases.
|