Ruby:
Написание тестов
Как это сделать:
В Ruby для тестирования используются Minitest и RSpec — давайте использовать RSpec. Сначала установите его:
gem install rspec
Создайте тестовый файл, calculator_spec.rb
:
RSpec.describe Calculator do
describe "#add" do
it "суммирует два числа" do
expect(Calculator.new.add(3, 7)).to eql(10)
end
end
end
Запустите тест с помощью:
rspec calculator_spec.rb
Вывод:
F
Ошибки:
1) Calculator#add суммирует два числа
Ошибка/Ошибка: expect(Calculator.new.add(3, 7)).to eql(10)
NameError:
неинициализированная константа Calculator
Создайте calculator.rb
:
class Calculator
def add(a, b)
a + b
end
end
Снова запустите тесты.
Вывод:
.
Завершено за 0.002 секунды (файлы загружены за 0.08 секунд)
1 пример, 0 неудач
Глубокое погружение
Тестирование в Ruby ведет свои корни от Test::Unit, но RSpec, представленный в 2005 году, революционизировал тестирование в Ruby благодаря “разработке, ориентированной на поведение”. Альтернативы RSpec включают Minitest и Test::Unit. RSpec сосредоточен на читаемости и бизнес аспектах; Minitest более минималистичен и быстрее. Типично, тесты имитируют использование программного обеспечения, проверяя функции, данные и крайние случаи. Для существующих проектов начните с тестирования наиболее критичных частей.
Смотрите также
- RSpec GitHub: github.com/rspec/rspec
- Minitest: rubygems.org/gems/minitest
- “Эффективное тестирование с RSpec 3”: Читайте для получения дополнительной информации о принципах и паттернах RSpec.