2009-09-19 10 views

Trả lời

10

Như mọi người đã chỉ ra, Cucumber và Shoulda có các mục tiêu khá khác nhau. Bạn có thể nghĩ Cucumber là khung kiểm tra "khung nhìn từ 10.000 feet" - bạn xác định một tính năng rộng hoặc tương tác người dùng cụ thể và đảm bảo mọi thứ hoạt động cùng nhau. Shoulda là để kiểm tra đơn vị - bạn chọn ra một mô hình cụ thể và kiểm tra kỹ lưỡng tất cả các bit nhỏ của chức năng cho phần riêng lẻ đó.

Thông thường, bạn sẽ muốn sử dụng các loại khung công tác này cùng nhau. Ví dụ: hầu hết các bài kiểm tra cấp cao, rộng của bạn có thể được viết bằng Dưa chuột, nhưng khi có một đoạn mã đặc biệt phức tạp hoặc mờ đục trong hệ thống của bạn, bạn có thể đi sâu với Shoulda hoặc RSpec để kiểm tra cụ thể.

3

Chúng có các mục tiêu hoàn toàn khác nhau. Shoulda là một phần mở rộng thử nghiệm đơn vị được xây dựng trên đầu trang của Test :: Unit.

Dưa chuột là khung kiểm tra Chấp nhận/Chức năng có thể sử dụng Kiểm tra :: Đơn vị/RSpec/Bất kỳ điều gì để thực hiện xác nhận. Ví dụ:

Có thể so sánh trực tiếp với RSpec.

1

Dưa chuột đang nhắm mục tiêu Kiểm tra chấp nhận. Shoulda là một khung kiểm tra đơn vị.

1

Shoulda là một phần mở rộng của khuôn khổ Test::Unit bao gồm các macro thử nghiệm, xác nhận và người trợ giúp. Shoulda là một cách dễ dàng hơn để viết các bài kiểm tra đơn vị.

Dưa chuột - viết lại "Story runner" của RSpec - là công cụ cho Behaviour-Driven Development. Nó cho phép bạn viết các đặc tả có thể thực thi được bằng ngôn ngữ cụ thể cho từng miền có thể đọc được. Dưa chuột là một công cụ kiểm tra chấp nhận.

Do đó, dưa chuột và Doa có mục tiêu khác nhau (ngay cả khi có thể sử dụng Shoulda cho BDD).

3

Tôi không thấy bất kỳ ai khác đề cập rằng bạn thực sự là can use Shoulda làm "công cụ thử nghiệm" cho Cucumber.