Независимо от того где лежат тесты, всегда можно объяснить setuptools-у, что бы он не включал их в дистриб если вам это не нужно - так что это вообще не довод ни для какого варианта расположения тестов.
Я кладу тесты внутри "пакета". Если это "мелкая" либа, то это будет либо один файл tests.py
или это будет суб-пакет tests в котором будет несколько файлов вида test_something.py
.
А если это большой проект, состоящий из небольших "приложений" (в стиле django). То внутри каждого "приложения" будут лежать его собственные тесты. Мне так проще их искать и работать с ними, когда код, который они тестируют, лежит тут же рядом, и не надо "пол-экрана" скролить от "внешней" папки с тестами до папки с приложением.