Учебники по тестированию с использованием RSPEC на платформе PADRINO на RUBY

Меня зовут new to Ruby, и меня попросили использовать его в нашем новом проекте. Нас также попросили использовать Padrino (Sinatra) в качестве бэкенда/фреймворка. Для тестирования нас попросили использовать Rspec. Я долго искал туториалы, которые помогли бы в using Rspec for Ruby on Padrino. То, что я получаю, в основном относится к RoR. Но мне нужна Руби на Падрино.

Пожалуйста, помогите мне сделать то же самое с любыми стартерами/руководствами/справками/обсуждениями и т. д.

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

Я использую Ruby 1.9.3 и Padrino v.0.10.6.

Примечание. Я также упомянул вопрос SO, но он не т помочь.


person Sandip Agarwal    schedule 14.05.2012    source источник


Ответы (1)


Я никогда не использовал Падрино, но кажется, что он не сильно отличается от Синатры.

Я предлагаю прочитать ресурсы Sinatra и RSpec. Вы можете начать с этого:

И читая спецификации, написанные другими людьми на GitHub. Это некоторые из моих, но они не самые чистые что существует.


EDIT: краткое руководство

Начать работу с этим фреймворком намного быстрее и проще, чем с Sinatra. :)

Установить Падрино: gem install padrino

Создайте заявку: padrino g project myapp -d datamapper -t rspec
Команда говорит сама за себя. :)

Запустите тесты: rspec --color
Очевидно, что тесты не найдены. Давайте создадим его в spec/hello/hello_spec.rb:

require File.dirname(__FILE__) + "/../spec_helper.rb"

describe "get '/'" do
  it "should display hello world" do
    get '/'
    last_response.body.should == "Hello world!"
  end
end

Запустите тесты еще раз.
Они не пройдены, так как маршрут get '/' не существует. Давайте создадим его.

In app/controllers/hello.rb:

Myapp.controller do
  get '/' do
    "Hello world!"
  end
end

Запустите тест: он проходит!

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

Удачи!

person Samy Dindane    schedule 14.05.2012