If I have a class/object/component, and I test its API directly, in complete isolation, mocking/stubbing any complex parameters on which it depends, it's called a Unit Test.
If I have a whole application made up of classes/objects/components, a user interface, and all sorts, and I test its behaviour through a certain journey (with no parts being mocked/stubbed) it's called an End-to-end test.
If I implement a new feature, and I write a test which interacts with the highest level of the application which has an effect on that feature (and thus include multiple classes/objects/components, but not necessarily all of them, and may need to mock/stub some components)... what name would you give to this type of test? (I realise I am taking part in BDD/TDD, but what is the name of the type of test I have written?).
Behaviour test? Spec test? Integration test? Something else?