2009-09-07 42 views
6

Kịch bản như sau. Mô hình Đơn hàng của tôi có một after_create liên hệ với một cổng thanh toán từ xa để truy xuất URL thanh toán. Trong bài kiểm tra dưa chuột của tôi, tôi không muốn thực hiện hành động này, nhưng trả lại một URL tùy ý. kiểm tra dưa chuột hiện tại của tôi trông như thế này:Làm thế nào để mô phỏng/sơ khai một mô hình trong kiểm tra Dưa chuột

Do đó là một sản phẩm "Sản phẩm X" Khi tôi nhập thông tin của tôi Và tôi bấm vào nút "Đặt hàng" Sau đó, tôi sẽ được chuyển hướng đến "tùy ý url"

Vấn đề là ở đâu/làm cách nào để đảm bảo rằng mô hình đặt hàng của tôi đặt url chính xác và không liên hệ với cổng thanh toán từ xa?

Trả lời

3

Trong tính năng/support/env.rb Tôi đã vá mô hình Đơn đặt hàng của tôi để đặt URL tùy ý. Điều này có thể có thể được thực hiện với Mocha hoặc cái gì khác là tốt, nhưng không có điểm trong trường hợp này.

Trong các bước của tôi, tôi có thể kiểm tra phản ứng để chuyển hướng đúng như thế này:

Then /^I should be redirected to the payment gateway$/ do 
    response.status.should eql("302 Found") 
    response.location.should eql(Order.last.payment_url) 
end 

Hope this helps cho người khác là tốt. Tôi vẫn muốn biết nếu có một cách tốt hơn/sạch hơn để đạt được mục tiêu này.

1

Nếu tôi hiểu những gì bạn đang cố gắng làm chính xác, hãy xem FakeWeb.

11

Wiki cũng có một số tips on stubbing.

+0

[Cập nhật liên kết] (https://github.com/cucumber/cucumber/wiki/mocking-and-stubbing-with-cucumber) – Jared

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