Как начать тестирование? - PullRequest
0 голосов
/ 10 марта 2011

В последнее время я много читал о RSpec, Shoulda, Cucumber, Test :: Unit, FactoryGirl, Fixtures и т. Д. И т. Д. Но я все еще не понимаю, для какого типа тестирования используется каждый из них.Виды тестирования для Model, Controller, View, Helper.

Я не знаю, с чего начать.Может ли кто-нибудь помочь дать "порядок", как я должен начать?Например, я должен выучить Test :: Unit, затем RSpec, а затем Cucumber?

Ответы [ 2 ]

2 голосов
/ 11 марта 2011

Я бы предложил вам прочитать «Искусство модульного тестирования» Роя Ошерова.Я настоятельно рекомендую вам прочитать части 1 и 4.

Несмотря на то, что мы сосредоточены на модульном тестировании (да), существуют некоторые хорошо объясненные концепции, которые действительно помогли мне лучше понять мир тестирования.Это не сложная / скучная книга, мне нравилось читать ее даже без каких-либо предварительных знаний по тестированию.Надеюсь, вам тоже понравится.

Rgds

1 голос
/ 10 марта 2011

У меня был такой же вопрос :) Rspec используется для модульного тестирования. Это означает, что вы тестируете свои модели, контроллеры и, возможно, даже представления, чтобы увидеть, работают ли они так, как вы хотели.

Обратите внимание, что тесты не навязывают поведение, они просто тестируют его. Взгляните на этот пример:

describe "A new User" do
    let(:user) { Factory(:user) }

    it "is not valid if first_class is not either [Magician, Fighter, Ranger]" do
        user.first_class = 'warrior'
        user.should_not be_valid
    end
end

Это спецификация модели, которая использует Фабрику (проверьте заводскую девушку для получения дополнительной информации) и определяет, что если first_class не является одним из 3 выше и является чем-то вроде "воина", тест должен провалиться. После создания этого теста вы добавляете в модель подтверждение:

validates :first_class, :presence => true, :inclusion => %w(Fighter Ranger Magician)

А теперь тест проходит:)

После проверки rspec, вы должны взглянуть на Cucumber, который на самом деле является драгоценностью для тестирования сценариев. Там вы указываете целые сценарии, которые сопоставляются с регулярными выражениями. Посмотрите очень хороший Railscast от railscasts.com для очень хорошего введения в огурец.

Надеюсь, что это даст вам некоторое представление:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...