An integration test
tests a complete app or a large part of an app.

Generally speaking, a well-tested app has many unit and widget tests,
tracked by code coverage, plus enough integration tests
to cover all the important use cases. This advice is based on
the fact that there are trade-offs between different kinds of testing,
seen below.

Confidence

Low

Higher

Highest

Maintenance cost

Low

Higher

Highest

Dependencies

Few

More

Most

Execution speed

Quick

Quick

Slow

Unit tests