2010-03-14 27 views
5

Tôi đang bắt đầu một dự án mới cho một khách hàng ngày hôm nay.Phương pháp thử nghiệm nào đi cùng? [Rails]

Tôi đã thực hiện một số dự án đường ray trước đây nhưng không bao giờ làm phiền viết bài kiểm tra cho chúng. Tôi muốn thay đổi điều đó bắt đầu với dự án mới này. Tôi biết có một số công cụ kiểm tra, nhưng có một chút nhầm lẫn mà tôi nên sử dụng.

Tôi nghe nói về RSpec, Mocha, Webrat và Cucumber. Hãy nhớ rằng tôi không bao giờ thực sự viết bất kỳ bài kiểm tra thường xuyên nào, vì vậy kiến ​​thức của tôi về kiểm tra nói chung là khá hạn chế.

Bạn đề xuất tôi nên bắt đầu như thế nào?

Cảm ơn!


Cảm ơn tất cả các câu trả lời! Tôi đã đăng câu hỏi có liên quan có thể thu hút những người xem câu hỏi này trong tương lai. You can find it here.

Trả lời

4

Tôi thích sử dụng Rspec và Cucumber kết hợp. Tôi cũng thích Capybara hơn Webrat.

Rspec thật tuyệt vời vì nó là sự tích hợp và cấu trúc đường ray. Đó là thử nghiệm hành vi kỹ thuật, nhưng trong thực tế nó kết thúc lên cảm giác như thử nghiệm đơn vị. Nó cũng cho phép bạn nhóm và xác định "specs", hoặc rspec tests, trong bất kỳ cấu trúc nào bạn thích với khối 'mô tả'.

Dưa chuột cao hơn. Đó là những gì bạn sẽ dịch các câu chuyện của người dùng vào. Ví dụ, bạn có thể quyết định rằng người dùng của bạn sẽ có thể thay đổi mật khẩu của họ, vì vậy bạn sẽ viết một cái gì đó như thế này:

Scenario: Change password 
    Given I am logged in 
    And I am on the change password page 
    When I fill in "p4ssw0rd" for "old_password" 
    And I fill in "newp4ssw0rd$$" for "new_password" 
    Then my password should be "newp4ssw0rd$$" 

Nếu bạn đang làm việc với một dept QA, bạn có thể hiển thị các bài kiểm tra của bạn đối với họ, và họ sẽ ngay lập tức biết trạng thái của bất kỳ tính năng nhất định nào và cách tính năng này được cho là hoạt động. Ngoài ra, nếu bạn có những người thử nghiệm đầy đủ, họ có thể tự viết các bài kiểm tra, ngay cả khi họ không phải là lập trình viên nói chung.

1

Tất cả đều phục vụ chức năng khác nhau và nếu bạn thực sự quan tâm đến chất lượng phần mềm của mình, bạn sẽ sử dụng tất cả.

  • RSpec dùng để kiểm tra đơn vị. Unit Testing đang thử nghiệm phần nhỏ nhất, thường là các phương thức mô hình của bạn.

  • WebRat là nhiều hơn để kiểm tra chức năng khi người dùng cuối sẽ kiểm tra nó từ trình duyệt. Bạn đang thực sự kiểm tra tương tác và kiểm tra xem nó có trả lại chế độ xem/dữ liệu chính xác hay không.

  • Dưa chuột giống như đối với thử nghiệm điều khiển hành vi hoặc thử nghiệm từ đầu đến cuối. Nó là nhiều hơn để kiểm tra logic kinh doanh theo nhiều kịch bản khác nhau hoặc dữ liệu.

Tất nhiên bạn có thể sử dụng tất cả chúng cùng nhau. Ví dụ, tôi có thể sử dụng Cucumber để thực hiện kiểm tra end-to-end và nó sẽ liên quan đến thử nghiệm chức năng bằng cách sử dụng WebRat và Rspec. Hy vọng rằng điều này sẽ có được ý tưởng cho bạn để bắt đầu.

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