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, використовуючи ці бібліотеки, ви дотримуєтесь найкращих практик, що призводить до створення більш надійних та зручних у обслуговуванні баз коду.