Testing 1,184 installs

Testing and Mocking Dart Applications

by dart-lang/skills

Define and generate mock objects for external dependencies using `package:mockito` and `build_runner`. Use when unit testing classes that depend on complex…

Skill content

Testing and Mocking Dart Applications

Contents

- Structuring Code for Testability

- Managing Dependencies

- Generating Mocks

- Implementing Unit Tests

- Workflow: Creating and Running Mocked Tests

- Examples

Structuring Code for Testability

Design Dart classes to support dependency injection. Isolate complex external dependencies (like API clients or databases) so they can be replaced with mock objects during testing.

- Inject external services (e.g., http.Client) through class constructors.

- Represent URLs strictly as Uri objects using Uri.parse(string).

- Utilize Dart's object-oriented features (classes, mixins) to define clear interfaces for external interactions.

Managing Dependencies

Configure the pubspec.yaml file with the necessary testing and code generation packages.