Dart unit tests and widget tests.
These tests allow you to test the Dart portion of your plugin
just as you would test the Dart code of a non-plugin package.
However, the plugin’s native code won’t be loaded,
so any calls to platform channels need to be mocked in tests.

    See the test directory for an example.

Dart integration tests.
Since integration tests run in the context of a
Flutter application (the example app),
they can test both the Dart and native code,
as well as the interaction between them.
They are also useful for unit testing web implementation
code that needs to run in a browser.

    These are often the most important tests for a plugin.
However, Dart integration tests can’t interact with native UI,
such as native dialogs or the contents of platform views.

    See the  example/integration_test directory for an example.