У меня есть рубиновый код моей команды, теперь мне нужно выполнить модульное тестирование по спецификациям с помощью rspec. Я прошел через несколько веб-сайтов, но не получил идеального снимка о том, как его использовать. Может кто-нибудь, пожалуйста, помогите мне с шагами по использованию rspec. А также как создать пользователя в test db. Пожалуйста, направляйте меня, я новичок в rspec.Каковы предварительные требования, которые мне нужны для запуска rspec для рельсов?
ответ
Хорошее руководство по настройке RSpec получено из readme на rspec repo page on GitHub..
Однако ... Лично ниже это сочетание я в основном использую:
- Database cleaner: Для очистки дб, как следует из названия. Хорошим руководством по настройке этого является Avdi on his blog here.
Примечание: В этом блоге рекомендуется установить конфигурацию очистителя базы данных в отдельный файл в каталоге поддержки. Если это будет сделано, не забудьте раскомментировать следующую строку внутри файла rails_helper.rb
# Dir[Rails.root.join('spec/support/**/*.rb')].each { |f| require f }
Это гарантирует, что все файлы в каталоге поддержки необходимы в тестовом костюме.
- FactoryGirls: Это для создания тестовых записей (пользователей и т. Д.) Так же, как вы задаете в вопросе. Достаточно хорошее руководство, как указано на getting started document here.
- Faker: Я использую это для генерации
Fake
случайных значений при создании моих записей. Например: first_name, last_name, адрес электронной почты, пароль и т. Д. Для тестового пользователя вместо жесткого кодирования этих значений. Используя это, как указано на readme в репо
Правильно вооруженный вышеуказанным, первые спецификации Rspec готовы к записи.
функция может быть в основном разделена на два этапа:
- Описание
- Ожидания
описание представляет собой краткое изложение того, что костюм тестирования для в то время как ожидание является нормальным ожидаемым результатом ,
Описания также могут быть вложены в другие описания.
Пример испытания RSpec является:
require 'rails_helper'
describe TextMessage do
describe "#failed?" do
it "returns true" do
text = FactoryGirl.create(:text_message, :not_delivered)
expect(text.send(:failed?)).to be_truthy
end
end
end
Во-первых, требуется файл rails_helper
. Здесь находится вся тестовая конфигурация. Этот файл автоматически генерируется, когда команда rails generate rspec:install
запускается из руководства по установке Rspec в своем репо.
Далее, у меня есть блок описания describe TextMessage do;end
Это описывающий мою модель, которая TextMessage
в этом случае
Далее я другое описание блок вложен в первый, чтобы описать метод (не удалось?) В моем Отпраке модели: describe "#failed?" do;end
Тогда у меня есть блок ожидания, которое мое главное испытание:
it "returns true" do
text = FactoryGirl.create(:text_message, :not_delivered)
expect(text.send(:failed?)).to be_truthy
end
Все другие испытания для метода failed?
будут под этим, с их соответствующими блоками ... в то время как другие тесты для других методов в модели будут соответственно первыми.
Надеюсь, что я смог пролить свет на этот вопрос для вас здесь.
- 1. Предварительные требования для запуска проектов веб-развертывания
- 2. Предварительные требования для Android-программирования
- 3. Предварительные требования для JQuery
- 4. Каковы минимальные требования для запуска RestComm?
- 5. Предварительные требования для изучения node.js?
- 6. Каковы значения, которые мне нужны для создания точной гистограммы?
- 7. Каковы требования для запуска игры MonoGame в Windows?
- 8. Каковы системные требования для ADT?
- 9. Каковы минимальные системные требования для запуска исполняемого файла приложения Kinect?
- 10. Предварительные требования для создания расширений Chrome/Safari
- 11. Предварительные требования для Windows Phone 8.0/8.1
- 12. Предварительные требования TFS 2010
- 13. InstallShield 2012 - предварительные требования
- 14. Предварительные требования к обучающему докеру
- 15. Предварительные требования для выносок веб-сервисов
- 16. Предварительные требования для обучения CRM Dynamics
- 17. Предварительные требования к Jenkins
- 18. Ярлык для запуска всех рельсов?
- 19. Каковы требования программного обеспечения Eclipse для запуска плагина MercurialEclipse?
- 20. Предварительные требования для отправки приложения iBeacon iOS в магазине Apple
- 21. Каковы требования для запуска моего собственного веб-сервера?
- 22. Каковы минимальные системные требования, необходимые для запуска Tomcat + Mysql
- 23. Каковы системные требования для vscode?
- 24. Каковы требования для запуска приложения .net на windows ce5?
- 25. Необходимые предварительные требования к экрану для развертывания dacpac
- 26. Предварительные требования для изучения того, как закодировать приложение для facebook
- 27. Устанавливать параметр_обучения_оценки_локально для rspec для проверки рельсов
- 28. Pyinstaller-created-program Предварительные требования
- 29. Требования для запуска приложения Winforms
- 30. Минимальные системные требования для запуска webGL?
Есть книги о том, как использовать rspec. Это слишком широкий вопрос для этого сайта. Еще один момент - сначала вы должны написать свои тесты, а затем написать код, чтобы удовлетворить их. – BroiSatse