2010-01-18 32 views
12

Tôi vừa mới nhận thấy cơ sở dữ liệu thử nghiệm của mình không được dọn sạch sau khi chạy thử nghiệm nếu kiểm tra của tôi phân lớp Test :: Unit :: TestCase. Nếu các bài kiểm tra của tôi phân lớp ActiveSupport :: TestCase, mọi thứ sẽ được dọn dẹp đúng cách.ActiveSupport :: TestCase vs Test :: Unit :: TestCase khi kiểm tra đơn vị đường ray

Bất cứ ai có thể giải thích lý do tại sao và/hoặc cung cấp giải thích về cách sử dụng cái này so với cách khác không?

Tôi đang sử dụng shoulda và factory_girl.

Cảm ơn.

Trả lời

19

Nếu bạn take a look at the code, bạn sẽ thấy ActiveSupport::TestCase có nhiều chức năng thiết lập và tiện ích để kiểm tra Rails. Phiên bản cũ hơn của Rails được sử dụng để sử dụng Test::Unit::TestCase với rất nhiều mixin, nhưng chuyển sang phân lớp một lúc trước.

Nếu bạn đang thử nghiệm ứng dụng Rails, bạn nên phân loại ActiveSupport::TestCase hoặc ActionController:TestCase cho bộ điều khiển. Các máy phát sẽ tự động thực hiện việc này, vì vậy bạn không cần phải nghĩ về nó hầu hết thời gian.

+0

Câu trả lời hay. Cảm ơn! – Abel

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