Ruby:
Письмо тестів
Як:
Ruby має вбудовану бібліотеку під назвою Test::Unit
для написання модульних тестів, упаковуючи практики тестування в прості структури. Однак, спільнота Ruby часто схиляється до використання сторонніх бібліотек, таких як RSpec та Minitest через їх підвищену виразність та гнучкість.
Використання Test::Unit
:
require 'test/unit'
class CalculatorTest < Test::Unit::TestCase
def test_addition
result = 2 + 2
assert_equal 4, result
end
end
Запустіть ваш тестовий файл з терміналу, і ви повинні отримати результат, що вказує на успіх або невдачу тестів:
Loaded suite test_calculator
Started
.
Finished in 0.001288 секунд.
1 тест, 1 твердження, 0 несправностей, 0 помилок, 0 в очікуванні, 0 пропущено, 0 повідомлень
100% пройдено
Використання RSpec:
RSpec — популярний фреймворк для розробки на основі поведінки (BDD) для Ruby. Встановіть гем за допомогою команди gem install rspec
, потім ініціалізуйте його у своєму проекті за допомогою rspec --init
.
# calculator_spec.rb
require_relative '../calculator'
describe Calculator do
it 'правильно додає два числа' do
expect(Calculator.add(2, 2)).to eq(4)
end
end
Запустіть тести з командою rspec
. Приклад результату:
.
Закінчено за 0.002 секунд (файли завантажувались 0.1секунд)
1 приклад, 0 невдач
Використання Minitest:
Minitest надає повний набір можливостей для тестування, підтримуючи TDD, BDD, макетування та бенчмаркінг. Встановіть його за допомогою команди gem install minitest
і використовуйте так:
# test_calculator.rb
require 'minitest/autorun'
require_relative '../calculator'
class CalculatorTest < Minitest::Test
def test_addition
assert_equal 4, Calculator.add(2, 2)
end
end
Запустіть ваш тестовий файл безпосередньо або через задачу rake
, налаштовану для minitest. Зразок результату:
Опції запуску: --seed 33407
# Виконання:
.
Закінчено за 0.001027с, 974.5922 запусків/с, 974.5922 тверджень/с.
1 запуск, 1 твердження, 0 несправностей, 0 помилок, 0 пропусків
Імплементуючи тести у ваших проектах на Ruby, використовуючи ці бібліотеки, ви дотримуєтесь найкращих практик, що призводить до створення більш надійних та зручних у обслуговуванні баз коду.