This bugs me as well. The people who argue about whether unit tests works will often redefine "unit" to mean anything from "the entire application" to a single function.
Colloquially, however, anything above the level of a self contained function or class is called something else - typically an integration test.
Unit tests, integration tests were never fully defined that well. They change based on who you talk to. Especially integration tests.
Better definition is the small, medium and large tests from Google's testing blog.
Every example I've read pertaining to unit testing uses a function as the unit to test. The easiest functions to test are ones that don't have side-effects (network, I/O, disk, etc). Could you point me to an example where a unit test applies to something beyond a function?