Để truy cập các đối tượng, một DANH MẠNH có chứa các hàm trả về các hành động và đối tượng của một kiểu lưu trữ đã được tạo. Ví dụ:Giảm chi phí thử nghiệm khi DAO chứa hành động
def findByKeysAction(a: String, b: String, c: String = {
Users.filter(x => x.a === a && x.b === b && x.c === c).result
}
def findByKeys(a: String, b: String, c: String): Future[Option[foo]] = {
db.run(findByKeysAction(consumerId, contextId, userId)).map(_.headOption)
}
Lưu ý cách chức năng không dựa trên hành động kết thúc tốt hơn trong db.run()
.
Cách tiếp cận vững chắc để kiểm tra cả hai chức năng và giảm thiểu sự thừa mã là gì?
Tôi có thể kiểm tra cả hai với các thiết lập thử nghiệm riêng lẻ (trên đây là một ví dụ đơn giản; có thể có rất nhiều thiết lập thử nghiệm cần thiết để đáp ứng các hạn chế DB).
Ví dụ về mã của tôi đã sửa và xóa một số tiếng ồn. Xin lỗi vì sự bất tiện này, vui lòng cập nhật mã của bạn cho phù hợp nếu bạn có thời gian. Cảm ơn! –