tôi có một dự án mà tôi đang xây dựng với Maven trong đó sử dụng Hibernate (và mùa xuân) để lấy dữ liệu từ một cơ sở dữ liệu, vvCác phương pháp hay nhất để kiểm tra tích hợp với Maven?
"kiểm tra" My cho DAO trong dự án của tôi kéo dài Spring AbstractTransactionalDataSourceSpringContextTests
để một DataSource thể được kết nối vào lớp của tôi đang được kiểm tra để có thể chạy logic truy vấn/Hibernate, để tìm nạp dữ liệu, v.v.
Trên một số dự án khác, tôi đã sử dụng các loại thử nghiệm này cùng với cơ sở dữ liệu HSQL -memory hoặc chỉ vào một tệp) để có thể kiểm tra hiệu quả logic truy vấn cơ sở dữ liệu thực tế mà không dựa vào cơ sở dữ liệu bên ngoài. Điều này làm việc tuyệt vời, vì nó tránh bất kỳ phụ thuộc bên ngoài và "nhà nước" của cơ sở dữ liệu trước khi chạy các bài kiểm tra (mỗi trong số đó được bao bọc trong một giao dịch được cuộn lại) được xác định rõ.
Tôi rất tò mò về cách tốt nhất để tổ chức các thử nghiệm này, đây thực sự là một thử nghiệm tích hợp lỏng lẻo, với Maven. Nó cảm thấy một chút bẩn để giữ các xét nghiệm này trong src/test/java
, nhưng từ những gì tôi đã đọc có vẻ không phải là một chiến lược nhất quán hoặc thực hành để tổ chức các bài kiểm tra tích hợp với Maven.
Từ những gì tôi đã đọc cho đến nay, có vẻ như tôi có thể sử dụng Failsafe plugin (hoặc trường hợp thứ hai của Surefire) và liên kết nó với giai đoạn integration-test
và tôi cũng có thể ràng buộc tùy chỉnh khởi động hoặc tắt máy. chẳng hạn như để bắt đầu/dừng phiên bản HSQL) thành pre-integration-test
hoặc post-integration-test
. Nhưng, đây thực sự là phương pháp tốt nhất?
Vì vậy, câu hỏi của tôi về cơ bản là - thực tiễn tốt nhất được chấp nhận chung về tổ chức điều này với Maven là gì? Tôi đang gặp khó khăn khi tìm bất kỳ loại câu trả lời nhất quán nào trong tài liệu.
Những gì tôi muốn là để:
- kiểm tra đơn vị riêng biệt từ các xét nghiệm hội nhập, vì vậy chỉ kiểm tra đơn vị được điều hành trong giai đoạn
test
- Khả năng liên kết lôgic khởi động tùy chỉnh/tắt máy để
pre-integration-test
vàpost-integration-test
- có báo cáo từ hội nhập-kiểm tra sáp nhập/trình bày với các đơn vị kiểm tra chắc chắn báo cáo
Move các bài kiểm tra tích hợp trong một dự án riêng biệt và duy trì các bài kiểm tra đơn vị trong cùng một dự án với tư cách là nguồn. –