Ответ 1
Как говорит аслак в своем ответе:
http://groups.google.com/group/cukes/msg/803836e9f6e7f1be
Мне просто нужно было обновить огуречные рельсы. @Ewout указал мне в правильном направлении, поэтому он также заслуживает +1:)
Я не уверен, действительно ли это в огурце, но на всякий случай некоторые из вас, ребята, знают, как это исправить. В принципе, мои тесты внезапно перестали работать, и когда я проверил, он показал эту ошибку:
C:/Vendor/Ruby187/lib/ruby/gems/1.8/gems/cucumber-rails-1.0.0/lib/cucumber/rails3.rb:3 in 'dirname': can't convert nil into String (TypeError)
Да, я сначала закатил глаза и просто проклинал Windows, но я попробовал это на своем Mac, и я получил то же самое:
/Users/eumir/.rvm/gems/[email protected]/gems/cucumber-rails-0.5.2/lib/cucumber/rails3.rb:3:in `dirname': can't convert nil into String (TypeError)
Странно, но в разных версиях рельефа огурца я искал googled, и первый результат показывает, что это ошибка (хотя я не могу расшифровать, что такое суть... может быть, просто скопировать наклеенные материалы?) и самое странное из всех, Cucumber IS запущен, и я столкнулся с этой проблемой во время работы rspec spec
.
В приведенных ниже трех подсказках говорится, что это не огурец, но почему он обвиняет огурец? Если кто-то из вас может прояснить, почему это происходит, вы будете спасать меня от нескольких часов боли.
Как говорит аслак в своем ответе:
http://groups.google.com/group/cukes/msg/803836e9f6e7f1be
Мне просто нужно было обновить огуречные рельсы. @Ewout указал мне в правильном направлении, поэтому он также заслуживает +1:)
Это было вызвано тем, как провайдер пытается "самообслуживать" драгоценные камни. В 1.0 связующий пытается узнать имя жемчужины (в данном случае "огуречные рельсы" ) и заглушает ошибку, если файл не найден (это не так).
В связующем 1.1.1 связка заменяет экземпляры "-" на "/", что приводит к автообновлению "огурцов/рельсов", что приводит к "случайной" загрузке, описанной Ewout.
Чтобы решить, установите :require => false
в свой gemfile.
(Примечание: :require => false
не означает, что драгоценный камень является необязательным, только этот Bundler не должен автоматически запрашивать его)
Новые версии огурцов-рельсов предупреждают вас об этой проблеме. Из файла env.rb следует использовать огуречные рельсы, а не раньше. Для этого поместите строку gem cucumber-rails
в группу: test в вашем Gemfile.