Ruby:
Skrive tester

Hvordan:

Ruby kommer med et innebygget bibliotek kalt Test::Unit for å skrive enhetstester, som inkapsulerer testingpraksiser innenfor greie strukturer. Imidlertid heller Ruby-samfunnet ofte mot tredjepartsbiblioteker som RSpec og Minitest på grunn av deres forbedrede ekspressivitet og fleksibilitet.

Bruke Test::Unit:

require 'test/unit'

class CalculatorTest < Test::Unit::TestCase
  def test_addition
    resultat = 2 + 2
    assert_equal 4, resultat
  end
end

Kjør testfilen din fra terminalen, og du bør få en utskrift som indikerer suksess eller feil ved testene:

Loaded suite test_calculator
Started
.
Finished in 0.001288 seconds.
1 tests, 1 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed

Bruke RSpec:

RSpec er et populært BDD (Behavior-Driven Development, atferdsdreven utvikling) rammeverk for Ruby. Installer gem-en med gem install rspec, deretter initialiser den i prosjektet ditt med rspec --init.

# calculator_spec.rb
require_relative '../calculator'

describe Calculator do
  it 'legger korrekt sammen to tall' do
    expect(Calculator.add(2, 2)).to eq(4)
  end
end

Kjør tester med rspec kommandoen. Eksempel på utskrift:

.

Finished in 0.002 seconds (files took 0.1 seconds to load)
1 example, 0 failures

Bruke Minitest:

Minitest tilbyr en komplett pakke av testfasiliteter som støtter TDD (Test-Driven Development, testdreven utvikling), BDD, mocking, og benchmarking. Installer det med gem install minitest og bruk som følger:

# 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

Kjør testfilen din direkte eller gjennom rake oppgaven satt opp for Minitest. Eksempel på utskrift:

Run options: --seed 33407

# Running:

.

Finished in 0.001027s, 974.5922 runs/s, 974.5922 assertions/s.
1 runs, 1 assertions, 0 failures, 0 errors, 0 skips

Ved å implementere tester i dine Ruby-prosjekter ved hjelp av disse bibliotekene, følger du beste praksiser, som fører til mer pålitelige og vedlikeholdbare kodebaser.