HSQLDB là tuyệt vời. Nó (cũng) có chế độ nhúng (không cần máy chủ chuyên dụng), cho phép tạo mẫu nhanh các nội dung như Proof of Conception, và nó cũng có thể tuyệt vời trong các ứng dụng sẵn sàng sản xuất, vì lưu trữ dữ liệu đơn giản và nhanh chóng.
Tuy nhiên, ít nhất 90% các dự án tôi đã làm trong những năm qua, nếu chúng xử lý bằng bất kỳ cách nào với cơ sở dữ liệu SQL, chắc chắn chúng sẽ có các bài kiểm tra đơn vị sử dụng HSQLDB nhúng.
Chắc chắn, các dự án này (sử dụng cấu trúc Maven tiêu chuẩn hầu hết thời gian), có rất nhiều "thử nghiệm đơn vị" (hoặc, ít nhất, một số loại thử nghiệm, nhưng nằm trong khu vực "thử nghiệm đơn vị" của dự án (như "src / test / java")) sử dụng một hoặc nhiều phiên bản nhúng của HSQLDB để thực hiện một số thao tác CRUD và kiểm tra kết quả.
Câu hỏi của tôi là: đây có phải là một mô hình chống? Có phải thực tế là HSQLDB dễ tích hợp và máy chủ nhúng rất nhẹ khiến nó có thể bị bỏ qua như là "mô phỏng" của một cơ sở dữ liệu thực tế, khi không nên như vậy? Các thử nghiệm như vậy không nên được đối xử giống như các thử nghiệm tích hợp (vì mỗi thử nghiệm này bao gồm "cái gì đó" VÀ sự tích hợp của "cái gì đó" với một máy chủ cơ sở dữ liệu)? Hoặc tôi đang thiếu một cái gì đó trong định nghĩa "kiểm tra đơn vị" và chúng ta có thể nói rằng việc sử dụng HSQLDB như thế này chỉ đơn giản là tuân thủ "giả định phụ thuộc và chỉ kiểm tra phần đơn vị" của định nghĩa "kiểm tra đơn vị"?