Я хочу иметь возможность запускать тесты одного файла спецификации - например, для одного файла, который я редактирую. rake spec
выполняет все спецификации. Мой проект не является проектом Rails, поэтому rake spec:doc
не работает.
Не знаю, имеет ли это значение, но вот моя структура каталогов.
./Rakefile ./lib ./lib/cushion.rb ./lib/cushion ./lib/cushion/doc.rb ./lib/cushion/db.rb ./spec ./spec/spec.opts ./spec/spec_helper.rb ./spec/db_spec.rb
Необработанный вызов:
Теперь выясните, как встроить это в ваш редактор.
источник
Этот вопрос старый, но он появляется в верхней части Google при поиске того, как запустить один тест. Я не знаю, является ли это недавним дополнением, но чтобы запустить один тест из спецификации, вы можете сделать следующее:
где -line номер- это номер строки, которая содержит часть вашего теста. Например, если у вас была такая спецификация:
Допустим, он сохранен в spec / models / foo_spec.rb. Тогда вы бы запустить:
и это будет просто запустить эту одну спецификацию. На самом деле это число может быть от 2 до 5.
Надеюсь это поможет!
источник
require
вашими другими файлами спецификации?rspec spec/models/foo_spec.rb:2:12:49
Вы также можете использовать фактический текст теста * e * xample с
-e
!Таким образом, для:
ты можешь использовать
Здесь нет необходимости в граблях.
источник
из справки (спец-ч):
Пример: spec spec / runner_spec.rb -l 162
источник
:
соответствии с документацией и популярным ответом.Если вы установили rspec как плагин, а не как гем, у вас не будет
spec
исполняемого файла.В любом случае, все, что вам нужно сделать, это запустить файл с помощью ruby. Код rspec достаточно умен, чтобы запустить тесты для вас.
например:
источник
http://github.com/grosser/single_test позволяет вам делать такие вещи, как ..
источник
Ruby 1.9.2 и Rails 3 имеют простой способ запустить один файл спецификации:
Объяснение:
ruby
Команда, как правило, быстрее, чемrake
команда-I spec
означает «включать каталог« spec »при поиске файлов»spec/models/user_spec.rb
это файл, который мы хотим запустить.источник
Чтобы запустить все ваши файлы rspec:
rspec
примечание: вы должны быть в корне вашего проекта
Чтобы запустить один файл rspec:
rspec 'path_to/spec.rb'
примечание: замените path_to / spec.rb на ваш путь. Кавычки необязательны.
Чтобы запустить один тест rspec из одного файла:
rspec 'path_to/spec.rb:7'
примечание:: 7 - номер строки, с которой начинается тест
источник
У меня были проблемы с тем, чтобы заставить работать любой из этих примеров, возможно, потому что пост старый и команды изменились?
После некоторого осмотра я нашел это работает:
rspec spec / models / user_spec.rb
Это запустит только один файл и обеспечит полезный вывод в терминале.
источник
specky.vim
источник
Кроме того, посмотрите на автотест.
Запуск автотеста в командном окне будет означать, что файл спецификации будет выполняться всякий раз, когда вы сохраняете его. Кроме того, он будет запускаться всякий раз, когда запускается указанный вами файл.
Например, если у вас есть файл спецификации модели с именем person_spec.rb и файл модели, который он определяет, с именем person.rb, то всякий раз, когда вы сохраняете любой из этих файлов из вашего редактора, файл спецификации будет выполняться.
источник
Хотя на этот вопрос было написано много хороших
tags
ответов, ни один из них не использует подход Rspec .Я использую теги для запуска одной или нескольких спецификаций в разных файлах - только те, которые связаны с моей текущей задачей разработки.
Например, я добавляю тег «dev» со значением «current»:
тогда я бегу
Различные теги / значения могут быть установлены в отдельных спецификациях или группах.
источник
Допустим, вы запускаете тест для создания задачи. Вы всегда можете запустить этот конкретный код спецификации todo, используя файл crete_spec.rb, как показано ниже.
Если вы хотите запустить все спецификации в одном коротком.
Если вы хотите запустить все спецификации в конкретном контроллере пользователя, это.
Надеюсь, это даст вам больше понимания!
источник