mam problem z Capybarą. Napisałem sobie kilka testów, i wszystkie przechodzą, ale gdy tylko podstawię culerity zamiast domyślnego drivera, wszystko zaczyna się sypać, konkretnie - nie są tworzone instancje obiektów (z Factory_girl). Nie korzystam z Cucumbera, więc może to nie ma prawa działać, sądziłem jednak, że możliwa jest kombinacja Capybara (:culerity) + Shoulda + Factory_Girl. Czy koniecznie do Culerity muszę używać Cucumbera?
Mam jeszcze jeden problem, gdy odpalam jakikolwiek test z wykorzystaniem Culerity na ekran wysypują mi się warningi związane z Gemspec (invalid Gemspec format). Słyszałem o tym problemie, ale tylko w kontekście Rails 3 + Ruby 1.9.2, czy ktoś spotkał się z tym w Rails 2.3?
Ja stawiam na to, że cucumber wykonuje je domyślnie z użyciem “transactional fixtures”. Scenariusz odpalany jest w transakcji, więc to co jest stworzone w procesie cucumbera nie jest widoczne przez przeglądarkę.
Spróbuj dodać taga @no-txn. Jak nie pomoze to wklej output, będzie łatwiej zdiagnozować
@drogus tag chyba mógłbym dodać, gdybym korzystał z Cucumbera :>
No właśnie output nie mówi nic konkretnego. W kwestii ostrzeżeń otrzymuję coś takiego
WARNING: Invalid .gemspec format in '/home/grzes/.rvm/gems/ruby-1.8.7-p299/specifications/aasm-2.1.5.gemspec'
no i całą treść gemspec przy okazji
Przy okazji dostaję do każdego testu gratis takie ostrzeżenie
E/home/grzes/.rvm/gems/ruby-1.8.7-p299/gems/activerecord-2.3.8/lib/active_record/named_scope.rb:13: warning: multiple values for a block parameter (0 for 1)
from /home/grzes/.rvm/gems/ruby-1.8.7-p299/gems/activerecord-2.3.8/lib/active_record/named_scope.rb:92
Same testy też nic konkretnego nie mówią niestety Capybara stwierdza tylko, że nie istnieje link, w który chcę kliknąć (a którego obecność wynika z istnienia obiektu), albo, że podaję niepoprawne dane użytkownika (co doprowadziło mnie do tego, że coś się nie zapisuje tak jak powinno)
Przykładowy test :
[code] context “When user tries to log in and puts correct data” do
setup do @user = Factory(:user)
visit ‘/login’
fill_in “user[login]”, :with => @user.login
fill_in “user[password]”, :with => @user.password
click “Log In”
end
should "he see he's logged in" do
assert page.has_content? "Log Out"
end