Witam,
od jakiegoś czasu walczę z dziwnym problemem - na komputerze lokalnym( czy to lapek z win xp, czy stacja z win 7) testy wykonują mi się jak najbardziej poprawnie. Niestety na moim VPSie z Debianem już nie. Co dziwne, bo sama aplikacja uruchomiona w trybie DEV działa jak najbardziej poprawnie. Z analizy błędów doszedłem do wniosku, że nie są ładowane fixtures przed testami, bądź też coś dzieje się z nimi dziwnego, bo dostaję błędy w stylu(zawsze te same):
34) Error:
test: TicketsController on GET to #show should not set the flash. (TicketsControllerTest):
ActiveRecord::RecordNotFound: Couldn't find Ticket with ID=1113204912
/test/functional/tickets_controller_test.rb:65:in `__bind_1252706131_928624'
vendor/gems/thoughtbot-shoulda-2.10.2/lib/shoulda/context.rb:369:in `call'
vendor/gems/thoughtbot-shoulda-2.10.2/lib/shoulda/context.rb:369:in `run_current_setup_blocks'
vendor/gems/thoughtbot-shoulda-2.10.2/lib/shoulda/context.rb:368:in `each'
vendor/gems/thoughtbot-shoulda-2.10.2/lib/shoulda/context.rb:368:in `run_current_setup_blocks'
vendor/gems/thoughtbot-shoulda-2.10.2/lib/shoulda/context.rb:350:in `test: TicketsController on GET to #show should not set the flash. '
Taki error powoduje context poniżej. Wspomniany Ticket with ID=111… to tickets(:zwrot_tomka)
context "on GET to #show" do
setup do
get :show, :id => tickets(:zwrot_tomka).to_param
end
should_respond_with :success
should_render_template :show
should_not_set_the_flash
should_assign_to :ticket
end
Zaś sam :zwrot_tomka wygląda następująco:
zwrot_tomka:
category: zwrot
employee_name: "Tomek"
order_number: 123415
email: "klient@costam.pl"
basic_state: "opened"
type: "Ticket"
Myślałem, też, że problemem jest jakiś błąd połączenia z bazą, ale podłączyłem tą samą bazę pod development: i działało wszystko tak jak powinno. Czy istnieje jakaś różnica w wykonywaniu testów między windowsem, a linuksem?
Pozdrawiam,
Yax