2010-03-14 3 views
5

Я начинаю новый проект для клиента сегодня.Какой метод тестирования использовать? [Rails]

Я уже делал некоторые проекты рельсов, но никогда не беспокоился о написании тестов для них. Я бы хотел изменить это, начиная с этого нового проекта. Я знаю, что есть несколько инструментов тестирования, но я немного смущен в отношении того, что я должен использовать.

Я слышал о RSpec, Mocha, Webrat и огурце. Пожалуйста, имейте в виду, что я никогда не писал никаких регулярных тестов, поэтому мои знания об испытаниях в целом довольно ограничены.

Как вы предлагаете мне начать?

Спасибо!


Благодарим за ответы! Я опубликовал связанный с этим вопрос, который может заинтересовать тех, кто рассматривает этот вопрос в будущем. You can find it here.

ответ

4

Я предпочитаю использовать Rspec и Cucumber в сочетании. Я также предпочитаю Capybara над Webrat.

Rspec отлично подходит для интеграции и структуры рельсов. Это технически тестирование поведения, но на практике он испытывает чувство модульного тестирования. Он также позволяет группировать и определять «спецификации» или тесты rspec в любой структуре, которая вам нравится, с блоками «описать».

Огурец - более высокий уровень. Это то, что вы переведете в свои истории пользователей. Например, вы можете решить, что пользователи должны иметь возможность изменять свой пароль, так что вы будете писать что-то вроде этого:

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$$" 

Если вы работаете с QA отдела, вы можете показать свои тесты к ним, и они мгновенно узнают статус любой данной функции и как функция должна работать. Кроме того, если у вас есть предприимчивые тестеры, они могут сами писать тесты, даже если они не программисты в целом.

1

Все они выполняют различные функции, и если вы действительно заботитесь о качестве своего программного обеспечения, вы будете использовать их все.

  • RSpec больше подходит для модульных испытаний. Unit Testing тестирует самую маленькую часть, как правило, ваши методы моделей.

  • WebRat больше подходит для тестирования функциональности, поскольку конечный пользователь будет тестировать его из браузера. Вы фактически проверяете взаимодействие и проверяете, вернет ли он правильный вид/данные.

  • Огурец больше похож на тестирование, основанное на поведении, или сквозное тестирование. Это больше, чтобы протестировать бизнес-логику в соответствии со многими различными сценариями или данными.

Конечно, вы могли бы использовать все вместе вместе. Например, я могу использовать Cucumber для завершения сквозного тестирования, и это будет включать функциональное тестирование с использованием WebRat и Rspec. Надеюсь, это поможет вам начать.

Смежные вопросы