Rake Spec терпит неудачу, когда Rake Spec: (модели | контроллеры | представления) проходят - PullRequest
2 голосов
/ 26 апреля 2011

Я задал этот вопрос в списке рассылки rspec, но не получил ответа, поэтому решил попробовать здесь.

Использование rspec 1.3.2 и rspec-rails 1.3.4 с rails 2.3.11 на ruby ​​1.9.2-p180, когда я

$ rake spec:models

они все проходят.Когда я

$ rake spec:controllers

они все проходят.Когда я

$ rake spec:views

они все проходят.Но когда я

$ rake spec

получаю

<path to gem>/activesupport-2.3.11/lib/active_support/dependencies.rb:177: stack level too deep (SystemStackError)

Я возился с файлом рейка, и когда я меняю

t.spec_files = FileList['spec/**/*_spec.rb']

в задании по умолчанию для попадания только в одну из подкаталогов, например,

t.spec_files = FileList['spec/models/**/*_spec.rb']

, тогда рейк-спецификация работает.Я сделал это для моделей, контроллеров и представлений, и Rake Spec прекрасно работает для каждого.Но в том числе все они, такие как

t.spec_files = FileList['spec/models/**/*_spec.rb', 'spec/controllers/**/*_spec.rb', 'spec/views/**/*_spec.rb']

, работают , а не (такая же ошибка, как указано выше).По иронии судьбы, включение только моделей и представлений работает:

t.spec_files = FileList['spec/models/**/*_spec.rb', 'spec/views/**/*_spec.rb']

, но кажется, что любая комбинация, включая контроллеры, потерпит неудачу.Это странно для меня, так как Rake Spec: контроллеры работает.Если это не связано с количеством файлов и / или примеров.Количество файлов и примеров для каждого типа спецификации:

models:      25 files, 391 examples
controllers: 26 files, 973 examples
views:       52 files, 508 examples

Использование только rake spec работало на Ruby 1.8.7 (-p302) и Ruby 1.9.1 (-p243).

У кого-нибудь есть какие-либо идеи?Я могу запустить каждую группу индивидуально (и даже создать псевдоним, чтобы сделать все сразу), но тогда rspec должен запустить приложение 3 раза.Кроме того, это не решает, почему это не работает на Ruby 1.9.2.

1 Ответ

0 голосов
/ 19 мая 2011

Я не могу объяснить почему, но когда я удаляю

--loadby mtime
--reverse

из spec / spec.opts, rake spec снова работает.Это может иметь отношение к этой теме [1], но я не знаю.

Peace.

[1] http://www.ruby -forum.com/topic/1151108

...