A unit isn't a fixed size

Units can be expressed at function/method, class or package level.

A unit doesn't necessarily have to be one object working in isolation - a group of objects that co-ordinate to achieve some kind of behaviour can still act (and be tested) as a unit if side-effects can be isolated. Indeed, Test from the outside-in produces this kind of effect, whereas focusing too much on testing everything in too small a unit of isolation can lead to overspecification and complexity, either through having too many mocks (Overmocking creates alternative facts) or focusing on the implementation (Test behaviour not implementation)