Tôi đang học nodej và tôi có một cơ sở dữ liệu mongodb mà tôi phải tương tác với. Tôi hiện đang nghĩ đến việc sử dụng mocha cho một khung kiểm thử đơn vị và zombie.js cho một khung kiểm tra chấp nhận. Tôi đã tự hỏi làm thế nào tôi có thể làm thử nghiệm chấp nhận quy mô đầy đủ mà nhấn cơ sở dữ liệu mongodb. Có một khuôn khổ/mô-đun giúp thay thế cơ sở dữ liệu bằng cơ sở dữ liệu thử nghiệm hay không hoặc mocha hoặc zombie.js có chức năng có thể dễ dàng được sử dụng để thay thế cơ sở dữ liệu.Mock/Test Cơ sở dữ liệu Mongodb Node.js
Cũng có một khung tương tự với ý tưởng của các nhà máy (thay vì đồ đạc) trong việc tạo các đối tượng cơ sở dữ liệu.
Một khái niệm tương tự mà tôi gặp trong thế giới đường ray là trong rspec, có tệp spec_helper.rb chạy trước khi chạy thử nghiệm, thiết lập cấu hình dự án để quyết định cơ sở dữ liệu nào sẽ chạy khi chạy thử nghiệm. Và nó sử dụng database_cleaner để làm sạch cơ sở dữ liệu thử nghiệm trước khi chạy thử nghiệm. Đối với các nhà máy, tôi đã sử dụng Factory girl để tạo các đối tượng nhà máy từ lược đồ cơ sở dữ liệu một lần nữa trong thế giới đường ray.
Cảm ơn
Tôi đã tạo một thư viện để cho phép hành vi factory_girl/machinist - ectypes (từ lạ, nhưng có ý nghĩa khi bạn biết ý nghĩa của nó). Có một chút khác biệt với thế giới Ruby vì không có ORM/ODM chuẩn trong Node.js, vì vậy bạn phải xác định một 'chiến lược' cho lớp kiên trì. Chúng không khó để làm. Tôi có một cho Sequelize tại thời điểm này. Xem https://github.com/nicholasf/ectypes.js – nicholasf