2011-01-19 46 views
5

Tôi đang sử dụng capybara và dưa chuột trong ứng dụng rails3 của tôi. Mọi thứ đều hoạt động tốt. Tuy nhiên tôi không hiểu làm thế nào kiểm tra đang làm việc.dưa chuột capybara nó hoạt động như thế nào

Giả sử tôi có thử nghiệm tính năng dưa chuột chuẩn. Tôi không sử dụng @selenium vv. Nó là một thử nghiệm vani đơn giản. Bây giờ khi tôi chạy

bundle exec cucumber 

máy chủ đường ray đó có bắt đầu trên một cổng không? Nếu có thì số cổng là gì? Cũng trong trường hợp đồng bằng vani capybara sử dụng rack-test. Tuy nhiên rack-test không chịu trách nhiệm chạy máy chủ. Vì vậy, tất cả tôi đều bối rối như thế nào toàn bộ điều hoạt động. Dưa chuột vai trò gì đang chơi. Công việc kiểm tra rack đang làm gì và capybara đang làm gì.

Nếu bạn có liên kết đến các bài viết thì vui lòng chia sẻ với tôi. Tôi thực sự muốn biết mọi thứ đang hoạt động cùng nhau như thế nào.

Trả lời

5

Mặc dù tôi không thực sự biết chi tiết sâu nhất về cách hoạt động của tính năng này. Nhưng tôi làm đủ để cung cấp cho bạn một số quan điểm.

Dưa chuột là khung kiểm tra chấp nhận ruby, nó cho phép bạn viết chấp nhận bằng tiếng Anh đơn giản. Bây giờ nói chung nó nằm trên đầu trang của Webrat hoặc Capybara cung cấp cho nó sức mạnh thực sự của nó, tức là Simulated Browser hoặc thử nghiệm trình duyệt tự động.

Capybara hoặc Webrat giúp dễ dàng chạy thử nghiệm chấp nhận.Capybara làm cho nó rất đơn giản để sử dụng các trình điều khiển khác nhau để chạy thử nghiệm chấp nhận. Trình điều khiển tức là Selenium, celerity hoặc rack-test. Trong một trường hợp vani, kiểm tra rack được sử dụng cho thử nghiệm trình duyệt mô phỏng.

Tự kiểm tra giá chỉ chịu trách nhiệm tạo phiên mà bạn chạy thử nghiệm của mình, các định nghĩa bước v.v ... đã được tạo bởi capybara. Vì vậy, về cơ bản không có máy chủ chạy một phiên chỉ của nó (phiên giả định được chính xác) được tạo ra bởi rack-test. Capybara bây giờ cung cấp một phương pháp tìm và đối sánh vv trên đầu phiên này được tạo ra bởi trình điều khiển (rack-test hoặc cách khác) để giúp bạn tạo ra các định nghĩa bước của riêng bạn.

Dưa chuột chạy các bước, tức là người tìm kiếm/người so khớp, v.v., trong phiên làm việc và để kiểm tra của bạn.

+0

Cảm ơn bạn đã trả lời. Câu hỏi của tôi là nếu yêu cầu và phản ứng được chế giễu trong thử nghiệm rack thì dưa chuột + capybara được truy cập vào các trang html thực với dữ liệu phản hồi có chứa bố trí đường ray và chế độ xem. –

+0

không thực sự .. nó chỉ mocks một phiên trình duyệt cơ bản cookie vv và nó sẽ gửi yêu cầu bằng cách sử dụng rack. Câu trả lời được cập nhật –

+0

Tôi đã xem mã nguồn của thử nghiệm giá. Và bây giờ tôi có hình ảnh rõ ràng hơn. Cảm ơn bạn rất nhiều. –

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