
Тестування з RSpec
Основи RSpec, model specs, request specs, system tests (Capybara), FactoryBot, mocking, тестування job
1Який основний файл конфігурації RSpec у застосунку Rails?
Який основний файл конфігурації RSpec у застосунку Rails?
Відповідь
Файл spec/spec_helper.rb (або spec/rails_helper.rb для тестів Rails) є основним файлом конфігурації RSpec. Він завантажує тестове середовище та налаштовує глобальні параметри RSpec. У сучасних проєктах Rails файл rails_helper.rb завантажує spec_helper.rb і додає специфічні для Rails налаштування, як-от завантаження тестового середовища та helper'и Rails.
2Який синтаксис є правильним для визначення тестового блоку (example) у RSpec?
Який синтаксис є правильним для визначення тестового блоку (example) у RSpec?
Відповідь
У RSpec окремий тест визначається за допомогою it або specify, після яких іде опис у лапках та блок. Синтаксис it 'description' do ... end є найпоширенішим. Блок describe або context групує пов'язані тести, тоді як it визначає конкретний example. Цей синтаксис, що читається як природна англійська, є однією із сильних сторін RSpec.
3Яка різниця між describe і context у RSpec?
Яка різниця між describe і context у RSpec?
Відповідь
describe і context функціонально ідентичні в RSpec, але дотримуються різних семантичних угод. describe використовується для опису того, що тестується (клас, метод), тоді як context описує умови або обставини тесту. Наприклад, describe User, за яким іде context 'when email is valid'. Це розрізнення покращує читабельність spec'ів.
Який matcher RSpec використовується для перевірки того, що одне значення дорівнює іншому?
Як запустити лише тести з конкретного spec-файлу за допомогою RSpec?
+21 питань зі співбесід
Інші теми співбесід Ruby on Rails
Основи Ruby
Об'єктно-орієнтоване програмування в Ruby
Основи Rails
Routing & Controllers
Основи ActiveRecord
Views та шаблони ERB
Асоціації ActiveRecord
Розширені запити ActiveRecord
Форми Rails
Автентифікація та авторизація
Сучасний Asset Pipeline та frontend
Режим API Rails
ActiveJob & Background Jobs
ActionCable & WebSockets
ActionMailer
ActiveStorage
Стратегії кешування
Розширені міграції
Rails Engines та модульні застосунки
Оптимізація продуктивності
Патерни проєктування Rails
Метапрограмування в Ruby
Безпека Rails
GraphQL із Rails
Розгортання та Продакшн
Monitoring & Logging
Стратегії оновлення Rails
Опануй Ruby on Rails для наступної співбесіди
Отримай доступ до всіх питань, flashcards, технічних тестів, вправ code review та симуляторів співбесід.
Почни безкоштовно