Ruby:
Tests Schrijven
Hoe:
Ruby gebruikt Minitest en RSpec voor het testen - laten we RSpec gebruiken. Installeer het eerst:
gem install rspec
Maak een testbestand, calculator_spec.rb
:
RSpec.describe Calculator do
describe "#add" do
it "somt twee getallen op" do
expect(Calculator.new.add(3, 7)).to eql(10)
end
end
end
Voer de test uit met:
rspec calculator_spec.rb
Uitvoer:
F
Mislukkingen:
1) Calculator#add somt twee getallen op
Mislukking/Fout: verwachtte dat (Calculator.new.add(3, 7)).to eql(10)
NameError:
niet-geïnitialiseerde constante Calculator
Maak calculator.rb
:
class Calculator
def add(a, b)
a + b
end
end
Voer de tests opnieuw uit.
Uitvoer:
.
Voltooid in 0.002 seconden (bestanden duurden 0.08 seconden om te laden)
1 voorbeeld, 0 mislukkingen
Diepgaande Duik
Testen in Ruby gaat terug tot Test::Unit, maar RSpec, geïntroduceerd in 2005, heeft het testen in Ruby met “behavior-driven development” gerevolutioneerd. Alternatieven voor RSpec zijn Minitest en Test::Unit. RSpec focust op leesbaarheid en de zakelijke kant; Minitest is minimalistischer en sneller. Typisch bootsen tests softwaregebruik na, controleren functies, data en randgevallen. Voor bestaande projecten, begin met het testen van de meest cruciale delen.
Zie Ook
- RSpec GitHub: github.com/rspec/rspec
- Minitest: rubygems.org/gems/minitest
- “Effectief Testen met RSpec 3”: Lees voor meer over RSpec principes en patronen.