I believe it is important to categorize integration tests in terms of their granularity. I mean grouping the tests that are coarse-grained aside from the fine-grained ones. This way, when big changes are made (changing the framework/platform behind your app) and lots of integration tests are broken, we know what to fix first. Most of the times, fixing the fine-grained tests also fix the others. If all the integration tests are in the same package/module, it is really tough to know what to fix first. There is no plan, just fix a test and run again. As integration tests are slow, it takes a lot of time to run them every time you fix one of a bunch of them.

A fine-grained integration tests can be for instance the one that makes a query against the database or ORM and return the appropriate result. On the other hand, a coarse-grained test might be the one that crosses several methods in different classes.