Я рекомендую слідувати стандартній структурі каталогів Apache Software Foundation , яка дає такий результат:
module/
src/
main/
java/
test/
java/
Це зберігає тести окремо від джерела, але на одному рівні в структурі каталогів. Якщо ви прочитаєте, як Apache визначає їх структуру, ви побачите, що це допомагає розділити й інші проблеми, включаючи ресурси, конфігураційні файли, інші мови тощо.
Ця структура також дозволяє модульним тестуванням тестувати пакет та методи захищеного рівня тестованих блоків, припускаючи, що ви поміщаєте свої тестові кейси в той самий пакет, що і те, що вони тестують. Щодо тестування приватних методів - я б не заважав. Щось інше, або загальнодоступне, або пакетне, або захищене викликає їх, і ви повинні мати можливість отримати повне тестове покриття, тестуючи ці речі.
До речі, посилання вище посилається на Maven, стандартний інструмент побудови Apache. Кожен проект Java, який у них є, відповідає цьому стандарту, а також кожен проект, з яким я стикався, створений за допомогою Maven.