2010-10-26 41 views
5

Đối với một bộ thử nghiệm đã sử dụng mocha để chế nhạo, các bài kiểm tra mới có thể được viết bằng rspec mocking không? có lẽ biến mà trên trước (: tất cả) và biến nó trở lại mocha sau (: tất cả)Mocking với rspec và mocha cùng nhau

tôi đã cố gắng thay đổi cấu hình :: Runner Spec tại thời gian chạy và đó dường như không làm việc với chế giễu

+0

Tôi muốn thuật lại câu hỏi của bạn "rspec mocking dường như mâu thuẫn với mocha. Tôi làm cách nào để sử dụng cả hai trong dự án?" Và có thể hướng nó tại những người rspec trong IRC, vấn đề github, v.v. –

+0

bạn đang sử dụng phiên bản rspec nào. – bobbywilson0

Trả lời

3

Tôi đã xuất bản một viên ngọc mới cho việc này. Bạn có thể tìm thêm thông tin chi tiết tại đây ->http://github.com/endeepak/rspec-multi-mock

+0

cảm ơn một triệu cho điều này :) Sử dụng nó ngay bây giờ để di chuyển từ Mocha để RSpec. –

+0

Tôi rất vui vì nó đang phục vụ mục đích :) –

1

Có vẻ như đá quý của Onewak đã giải quyết được điều này.

Nhưng bạn nên tự hỏi liệu đây có thực sự là điều bạn muốn hay không. Cuối cùng, tính nhất quán là quan trọng nhất và việc sử dụng kết hợp các khuôn khổ mocking trong cùng một ứng dụng nhất định sẽ dẫn đến nhầm lẫn.

Cá nhân tôi khá hài lòng với việc xây dựng mô phỏng của RSpec và thường không tìm thấy nhu cầu về Mocha trong các dự án của riêng tôi. Nhưng một số bạn bè của tôi thích Mocha và tôi không thực sự nhận thức được bất kỳ hạn chế của Mocha so với vanilla RSpec mocking, vì vậy tôi khuyên bạn nên gắn bó với Mocha nếu đó là những gì ứng dụng đã sử dụng. Mặc dù tôi biết hỗ trợ "any_instance" của nó được coi là một mùi mã bởi một số, nó thỉnh thoảng lại rất tiện dụng. :)

+0

Tôi hoàn toàn đồng ý với bạn. Như tôi đã đề cập trên trang github, đá quý này có lẽ nên được sử dụng trong khi một là chuyển đổi từ một khuôn khổ khác và bạn không có đủ thời gian để chuyển đổi tất cả usages.Or khi một số điều bạn cần là không có sẵn trong mocking hiện tại khuôn khổ. Hoặc có những trường hợp bạn hợp nhất hai dự án và họ sử dụng các khuôn khổ mocking khác nhau. Mục tiêu cuối cùng phải là sử dụng một khung công tác duy nhất và tránh nhầm lẫn –

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