Hej,
jak znacie takie przykłady, to podajcie proszę linki do githuba.
[quote=slawosz]Hej,
jak znacie takie przykłady, to podajcie proszę linki do githuba.[/quote]
Jeżeli lubisz dużo mockowania i stubowania (ja nie cierpię ), to spree ma całkiem fajne testy.
Jeżeli nie lubisz, fajne testy ma np.: https://github.com/wycats/thor/
W świecie railsów, fajne spece ma również radiant: https://github.com/radiant/radiant/ (a przynajmniej miał ze 2 lata temu)
Co do aplikacji railsowych, to szczerze mówiać ciężko jest coś takiego znaleźć. Z tego co zauważyłem aplikacje wrzucane na githuba albo są średnio obtestowane albo w ogóle są średnie Wynika to pewnie z tego prostego faktu, że testowanie aplikacji z reguły dużo cięższe niż testowanie bibliotek. Z tego co pamiętam to były już kiedyś tematy z linkami do fajnych aplikacji i (chyba) rewelacji tam nie było.
https://github.com/Ragnarson/winnie/tree/master/spec
Od dwóch lat regularnie testujemy wszystkie nasze aplikacje RSpekiem - ale kod jest klientów i nie możemy go opublikować… Może wpadniesz do Łodzi to Ci pokażemy na żywo?
Jak rozmawiałem ze Sławoszem na jabberze, to mówił, że chodziło mu też o przykłady niestandardowego użycia rspeca, bo w większości przypadków nie ma aż tak dużej różnicy czy jest to rspec czy test unit:
[code]something.should == “foo”
vs
assert_equal “foo”, something[/code]
Przypomniało mi to, że kiedyś napisałem w rubim małą bibliotekę do generowania kropek ;), w której napisałem jakieś niestandardowe matchery dla RMagicka, np:
Jeśli chodzi o składnie z RSpeca 2 ala https://github.com/adrpac/elasticsearch/blob/master/spec/elastic_search/client_spec.rb to chyba najlepiej przejrzeć jakieś prezentacje, np:
http://kerryb.github.com/iprug-rspec-presentation/
http://pure-rspec-scotruby.heroku.com/
definiowanie custom matcherow jak i sporo innych rzeczy jest na wiki: https://github.com/dchelimsky/rspec/wiki/A-Table-of-Contents poza tym sam rspec posiada sporo testów w cucumberze gdzie rzeczy do wykorzystania jak subjecty, its’y czy inne mocki są objaśnione kawałkiem dokumentacji z przykładami kodu.