2012-02-09 18 views
6

CodeIgniter đi kèm với một lớp Thử nghiệm Đơn vị được tích hợp sẵn và tôi rất muốn sử dụng nó. Tuy nhiên, hầu như tất cả các hàm tôi muốn thử nghiệm tương tác với cơ sở dữ liệu bằng cách thêm các bản ghi, xóa các bản ghi, v.v ... Làm thế nào tôi có thể viết các bài kiểm tra cho chức năng 'tạo người dùng' mà không thực sự tạo người dùng mỗi khi tôi chạy thử nghiệm? Khi một số nghiên cứu tiếp theo, có vẻ như tôi cần phải sử dụng các đối tượng Mock cho các dịch vụ bên ngoài như cơ sở dữ liệu, v.v. Tôi đã không thể tìm thấy nhiều trong cách của tài liệu về cách làm điều đó bên cạnh một diễn đàn này chủ đề: http://codeigniter.com/forums/viewthread/106737Kiểm thử đơn vị trong một ứng dụng web CodeIgniter được điều khiển bởi cơ sở dữ liệu

Có tài liệu thực tế nào không?

+0

Tất cả điều này phụ thuộc vào khung bạn sử dụng cho các bài kiểm tra đơn vị của mình. Bạn đã chọn một cái chưa? –

+0

Trừ khi tôi hiểu nhầm các tài liệu, CodeIgniter có khung kiểm thử đơn vị riêng được xây dựng. Điều đó có đúng không? – Mala

+0

CodeIgniter 2 thực sự có một khung kiểm tra được xây dựng. Nó không hoàn hảo từ những gì tôi đã nhìn thấy, nhưng đủ tốt để bắt đầu. Đối tượng giả sẽ là cách lý tưởng để đi, nhưng đó là một cái gì đó thiếu từ CI vì vậy không có tài liệu chính thức. Bài viết bạn đã liên kết trông giống như một điểm khởi đầu tốt. – cchana

Trả lời

4

Nếu trình điều khiển cơ sở dữ liệu của bạn cho phép giao dịch, hãy sử dụng chúng. Làm bất cứ điều gì cần phải được kiểm tra, sau đó rollback (về thành công hay thất bại).

Tôi thấy rằng thật khó để chạy các kiểm tra đơn vị với các tác vụ của bộ điều khiển. Nếu bạn tìm được cách làm tốt, hãy cho chúng tôi biết!

+0

thực sự điều này có vẻ như là một giải pháp thực sự tốt. Bộ điều khiển kiểm thử đơn vị không dễ nhưng nếu bạn đặt phần lớn mã bên trong các mô hình, bạn có thể kiểm tra đơn vị đó không có vấn đề gì – Mala

Các vấn đề liên quan