No dobra, to czas może utworzyć pierwszą klasę w systemie.
Czyli najpierw test - potem kod produkcyjny.
No dobra, ale jak napisać test w Ruby? Jakie są ciekawe biblioteki ułatwiające?
Stworzę plik z przyszłym testem.
i poszukam czegoś ciekawego.
Internety mówią, że może test-unit się nada.
Jest?
Jest. No to teraz instalacja.
Sukces.
Dlaczego “2 gems installed”, a nie “1 gem installed”? Tak jest właśnie funkcja menedżera pakietów RubyGems i każdego innego w innych technologiach. Pobierają pakiety, które są potrzebne do działania tego, który instalujemy.
Dooobra. To jak tego używać?
require "test-unit"
Dobra mam
I teraz chyba jakąś przykładową klaskę z testem trzeba napisać?
Wzoruję się na tym:
Jadę z koksem:
- Tu sobie zmienię nazwę
- Tu zostawię bez zmian
- class - to słówko kluczowe dla klasy
- def - to słówko kluczowe dla metody
No i samo gęste: sprawdzenie czy 1 + 1 = 2
Sprawdzę czy nie żadnych błędów składni i czy się odpala:
Nikt nie krzyczy :(
Something is no yes :)
No dobra, ale jak to odpalić. Musi być jakiś myk?
Myślę, że tu jest taka konwencja nazwy, że nazwa metody musi zaczynać się od słowa “test”.
Zmienię.
Taki TIP: Edycję w edytorze Vim zaczynamy kombinacją [Shift] + [i], czyli duże I jak Irena
Co powiesz na to:
Odpalam znowy przy użyciu ruby.
(.....)
Cytując klasyka: “yes, yes, yes”:
Swoją drogą, ciekawa jest statystyka - ile średnio odpali mi się testów/asercji na sekundę:
Jest moc :)
Zebrałem feedback do posta ze Slacka:
OdpowiedzUsuńdloranc
Post w sumie spoko, tylko budowałbym dłuższe zdania.
wmioduszewski
@coola - właśnie tak jak mówi @dloranc
@alus +1
Czyli coś jest na rzeczy :)
Nie byłeś jeszcze na Slacku? No to zapraszamy serdecznie. Duuuużo tam się dzieje:
https://devspl.slack.com/messages/dsp17/
test-unit? W sumie bez wchodzenia mógłbym zgadywać, z którego roku są te wątki na SO i nie pomyliłbym się ;) Oczywiście, jak sam pokazałeś, można go używać. Ba, nawet jest w jakimś stopniu wspierany. Tyle że... Nikt tego nie używa.
OdpowiedzUsuńPraktycznie wszyscy do testowania używają RSpeca (http://rspec.info), aczkolwiek jest to podejście BDD, a więc trochę się różniące od "klasyki". Natomiast ci, którzy nie decydują się na RSpeca, korzystają z minitesta (https://github.com/seattlerb/minitest).
OOOO, dzięki za info. Nie omieszkam obadać :)
Usuń