Angel
Primary version
Primary version
  • Introduction
  • Migration from Angel 1.1.x
    • Rationale - Why a new Version?
    • Framework Changelog
    • 2.0.0 Migration Guide
  • ORM
    • About
    • Basic Functionality
    • Relations
    • Migrations
    • NoSQL
    • PostgreSQL
  • Guides
    • Getting Started
    • Basic Routing
    • Dependency Injection Patterns
    • Installation & Setup
    • Without the Boilerplate
    • Requests & Responses
    • Dependency Injection
    • Basic Routing
    • Request Lifecycle
    • Middleware
    • Controllers
    • Parsing Request Bodies
    • Using Plug-ins
    • Rendering Views
    • Service Basics
    • REST Client
    • Testing
    • Error Handling
    • Pattern Matching and Parameter
    • Command Line
    • Writing a Plugin
  • Example Projects
  • YouTube Tutorials
  • Ecosystem
  • Packages
    • Authentication
    • CORS
    • Database-Agnostic Relations
    • Configuration
    • Database Adapters
      • MongoDB
      • RethinkDB
      • JSON File-based
      • ORM
    • Front-end
      • Mustache Templates
      • Jael template engine
        • Github
        • Basics
        • Custom Elements
        • Strict Resolution
        • Directive: declare
        • Directive: for-each
        • Directive: extend
        • Directive: if
        • Directive: include
        • Directive: switch
      • compiled_mustache-based engine
      • html_builder-based engine
      • Markdown template engine
      • Using Angel with Angular
    • Hot Reloading
    • Pagination
    • Polling
    • Production Utilities
    • Reverse Proxy
    • Router
    • Serialization
    • Service Seeder
    • Static Files
    • Security
    • Server-sent Events
    • shelf Integration
    • Task Engine
    • User Agents
    • Validation
    • Websockets
Powered by GitBook
On this page
  • Testing
  • connectTo
  • isJson
  • hasStatus
  • More Matchers
  • Next Up...
  1. Guides

Testing

PreviousService BasicsNextError Handling

Last updated 6 years ago

Testing

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

connectTo

This function will start app on an available port, and return a TestClient instance (based on ) 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

Next Up...

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

The complete set of angel_test Matchers can be found .

Learn how to use the handy .

here
Angel CLI
testing helpers
package:angel_test
Full definition
package:angel_client
Testing
connectTo(...)
isJson(..)
hasStatus(...)
More Matchers...
Next Up...