Tanuld meg tesztelni a Ruby-feladataidat az Exercism-ön
A teszteket így futtathatod:
$ ruby hamming_test.rb
Csak az első teszt fut le, a többit a skip metódus teszi függőben. Ahogy az egyes teszteket teljesíted, töröld ki vagy kommenteld ki a következő skip-et.
A skip metódus arra utasítja a tesztcsomagot, hogy ne futtasson le egy tesztet. Ezt általában arra használják, hogy elkerüljék a még nem implementált funkciók tesztjeinek futtatását, így arra összpontosíthatsz, amin éppen dolgozol.
A tesztfutás összegzése felsorolja a kihagyott tesztek számát. Egy feladat befejezése előtt az összes kihagyást meg kell szüntetned.
Ha színes kimenetet szeretnél, futtasd a teszteket ezzel:
$ ruby hamming_test.rb -p
Ha látni szeretnéd a tesztek nevét, futtasd a teszteket ezzel:
$ ruby hamming_tests.rb -v
Ha csak egy tesztet szeretnél futtatni, megadhatsz egyet vagy egy csoportot reguláris kifejezés stílusú illesztéssel.
$ ruby hamming_tests.rb -n /empty/
A beállításokat is kombinálhatod.
Most, hogy birtokodban van az az új képesség, hogy kiválaszd az egyes teszteket vagy tesztek csoportjait, amelyeket futtatni szeretnél, lehet, hogy az összes kihagyást ki szeretnéd kapcsolni.
Kihasználva, hogy Rubyban a metódusok felülírhatók, ha hozzáadnád ezt a kódsort:
def skip ; end
így a Hamming-tesztfájlban:
class HammingTest < Minitest::Test
def skip ; end
def test_identical_strands
akkor az összes kihagyás továbbra is kiértékelődik, de a tesztjeid lefutnak.
Persze idővel idegesítő lehet az összes fájlt szerkesztgetni, ezért csinálhatod úgy, ahogy mi is tettük a feladatok fejlesztésekor: készíts egy fájlt, amelyben benne van a skip definíciója, és amikor szükséged van rá, require-old be könyvtárként.
Létrehoztunk egy lib mappát, hogy ott tartsuk a „segítő” dolgainkat, és így néz ki:
require 'minitest/autorun'
# You can use this to disable all skips in the current exercise by issuing the
# following command:
# ruby -I../lib -rdisable_skip <filename_test.rb>
module Minitest
class Test
def skip(_msg='', _bt=caller)
end
end
end
A használatáról szóló leírás kommentként szerepel a fájl listázásában, és a fájllistázás teljes állapotában látható.