Last updated:
0 purchases
jaspr test
jaspr_test #
Testing utilities for the jaspr framework.
It is built as a layer on top of package:test and has a similar api to flutter_test.
Setup #
To get started, add the package as a dev dependency to your project:
dart pub add jaspr_test --dev
copied to clipboard
A simple component test looks like this:
// This also exports 'package:test' so no need for an additional import.
import 'package:jaspr_test/jaspr_test.dart';
// Import the components that you want to test.
import 'my_component.dart';
void main() {
group('simple component test', () {
testComponents('renders my component', (tester) async {
// We want to test the MyComponent component.
// Assume this shows a count and a button to increase it.
await tester.pumpComponent(MyComponent());
// Should render a [Text] component with content 'Count: 0'.
expect(find.text('Count: 0'), findsOneComponent);
// Searches for the <button> element and simulates a click event.
await tester.click(find.tag('button'));
// Should render a [Text] component with content 'Count: 1'.
expect(find.text('Count: 1'), findsOneComponent);
});
});
}
copied to clipboard
Testers #
Since jaspr is a fullstack-framework, there are 3 test functions to choose from:
testComponents can unit-test components in a simulated testing environment.
Use as shown above, by invoking testComponents and providing a component
using tester.pumpComponent().
See here for a full api reference.
testBrowser can test components and dom-interactions in a headless browser environment.
Use similar to the testComponents with additional options for the url and initialStateData to
simulate synced state from the server.
See here for a full api reference.
testServer can test the rendering of components in a simulated server environment.
This spins up a virtual http server where you can send requests and test the server-rendered response
for your components.
See here for a full api reference.
For more examples on how to use the testing package, check out the tests in the jaspr package.
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.