Tôi khuyên bạn nên làm theo cấu trúc thư mục tiêu chuẩn của Apache Software Foundation, cấu trúc này mang lại kết quả như sau:
module/
src/
main/
java/
test/
java/
Điều này giữ cho các bài kiểm tra tách biệt với nguồn, nhưng ở cùng cấp độ trong cấu trúc thư mục. Nếu bạn đọc qua cách Apache xác định cấu trúc của chúng, bạn sẽ thấy nó cũng giúp phân vùng các mối quan tâm khác ra ngoài, bao gồm tài nguyên, tệp cấu hình, ngôn ngữ khác, v.v.
Cấu trúc này cũng cho phép các bài kiểm tra đơn vị kiểm tra các phương pháp gói và mức được bảo vệ của các đơn vị được kiểm tra, giả sử bạn đặt các trường hợp kiểm thử của mình trong cùng một gói với những gì chúng kiểm tra. Về việc thử nghiệm các phương pháp riêng tư - tôi sẽ không bận tâm. Một cái gì đó khác, công khai, gói hoặc được bảo vệ gọi chúng và bạn sẽ có thể nhận được toàn bộ phạm vi kiểm tra thử nghiệm những thứ đó.
Nhân tiện, liên kết ở trên là đến Maven, công cụ xây dựng tiêu chuẩn của Apache. Mọi dự án Java mà họ có đều tuân theo tiêu chuẩn này, cũng như mọi dự án tôi gặp phải đều được xây dựng bằng Maven.