Używając ogórka do rubinu na szynach, przeprowadziłem test, który nie udał się z głupiego powodu (zrobiłam literówkę). Naprawiłem problem i nagle Cucumber już nie będzie działał. Nie zmieniłem żadnego z plików, do których się odnosi:Ogórek twierdzi, że jego pliki pomocnicze są zepsute?
/usr/local/lib/ruby/gems/1.9.1/gems/cucumber-1.1.8/lib/cucumber/js_support/js_dsl.js:3:
syntax error, unexpected '{', expecting keyword_then or ';' or '\n'
/usr/local/lib/ruby/gems/1.9.1/gems/cucumber-1.1.8/lib/cucumber/js_support/js_dsl.js:6: syntax error, unexpected keyword_else, expecting '}'
else {
^
/usr/local/lib/ruby/gems/1.9.1/gems/cucumber-1.1.8/lib/cucumber/js_support/js_dsl.js:7: syntax error, unexpected ';', expecting tASSOC
/usr/local/lib/ruby/gems/1.9.1/gems/cucumber-
1.1.8/lib/cucumber/js_support/js_dsl.js:13: syntax error, unexpected ',', expecting $end (SyntaxError)
/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:234:in `load'
/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:234:in `block in load'
/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:225:in `load_dependency'
/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:234:in `load'
/usr/local/lib/ruby/gems/1.9.1/gems/cucumber-1.1.8/lib/cucumber/js_support/js_language.rb:114:in `initialize'
/usr/local/lib/ruby/gems/1.9.1/gems/cucumber-1.1.8/lib/cucumber/runtime/support_code.rb:74:in `new'
/usr/local/lib/ruby/gems/1.9.1/gems/cucumber-1.1.8/lib/cucumber/runtime/support_code.rb:74:in `load_programming_language'
/usr/local/lib/ruby/gems/1.9.1/gems/cucumber-1.1.8/lib/cucumber/runtime/support_code.rb:185:in `programming_language_for'
/usr/local/lib/ruby/gems/1.9.1/gems/cucumber-1.1.8/lib/cucumber/runtime/support_code.rb:169:in `load_file'
/usr/local/lib/ruby/gems/1.9.1/gems/cucumber-1.1.8/lib/cucumber/runtime/support_code.rb:83:in `block in load_files!'
/usr/local/lib/ruby/gems/1.9.1/gems/cucumber-1.1.8/lib/cucumber/runtime/support_code.rb:82:in `each'
/usr/local/lib/ruby/gems/1.9.1/gems/cucumber-1.1.8/lib/cucumber/runtime/support_code.rb:82:in `load_files!'
/usr/local/lib/ruby/gems/1.9.1/gems/cucumber-1.1.8/lib/cucumber/runtime.rb:175:in `load_step_definitions'
/usr/local/lib/ruby/gems/1.9.1/gems/cucumber-1.1.8/lib/cucumber/runtime.rb:40:in `run!'
/usr/local/lib/ruby/gems/1.9.1/gems/cucumber-1.1.8/lib/cucumber/cli/main.rb:43:in `execute!'
/usr/local/lib/ruby/gems/1.9.1/gems/cucumber-1.1.8/lib/cucumber/cli/main.rb:20:in `execute'
/usr/local/lib/ruby/gems/1.9.1/gems/cucumber-1.1.8/bin/cucumber:14:in `<top (required)>'
/usr/local/bin/cucumber:19:in `load'
/usr/local/bin/cucumber:19:in `<main>'
Oczywiście coś poszło straszliwie straszliwie. Moje pytanie jest po prostu, jak mam to naprawić? Czy to znany błąd? Czy mogę/powinienem ponownie zainstalować ogórek? Cały stos? Mam bardzo małe doświadczenie z Rails and Cucumber, a oczywiste rozwiązania mnie zawiodły (plik, na który się skarży, jest w porządku, właściwie dość czytelny, nic dziwnego w tym, że uruchomienie go ponownie pokazuje, że to nie była tylko fiołek; Naprawiłem zmiany nic).
Linie 3-7 z js_dsl są:
if (func == null) {
jsLanguage.execute_step_definition(regexp);
}
else {
jsLanguage.add_step_definition(regexp, func);
}
},
Więc sprawdziłem plik definicji krok, a także wygląda dobrze. Zwykle błędna definicja kroku daje komunikat o błędzie, a nie pełną awarię w ten sposób.
możesz oznaczyć najlepszą odpowiedź lub zaktualizować pytanie ur z rozwiązaniem, które wpadłeś? bo wygląda na to, że żadna z odpowiedzi nie jest pomocna. –
@HadyElsahar Podałem poniżej swoje rozwiązanie, ale nie jest ono dobre i nadal nie rozumiem, co jest nie tak. Masz jednak całkowitą rację, żadna z odpowiedzi nie jest pomocna, dlatego nie zaakceptowałam żadnej. – Yamikuronue