rand действительно реализован в модуле Kernel . Однако при вызове метода внутри кода получатель метода на самом деле является вашим собственным объектом. Предположим, что следующий класс: class...
Searchkick нуждается в лучшей документации по тестированию, но вот в чем суть: Searchkick автоматически использует другое имя индекса в каждой среде, поэтому нет необходимости выполнять какие-либо...
Прежде всего: rails g rspec:install Он создаст файл spec_helper . Чем вы можете подготовить базу данных для тестирования: rake db:test:load rake db:test:prepare
rspec -это исполняемый файл для rspec-2 . spec - это исполняемый файл для rspec-1 . rspec-2 не совместим с rails 2.3 . Ваша команда должна быть: spec spec/controllers/my_controller_spec.rb
RSpec тесты контроллера по умолчанию не отображают представления. Чтобы отобразить представления, добавьте render_views в блок описания: describe 'a POST to :show' do render_views before do @bar =...
Итак, здесь есть 2 проблемы. Во-первых, вы пытаетесь использовать синтаксис ожиданий rspec с mocha в качестве своего насмешливого фрейма. Это вызывает: undefined method `receive' for...
Вы передаете идентификаторы пользователей и торговых точек , но в парах вы назвали их просто outlet и user . Измените свой тест на: describe 'create' do context 'with valid attributes' do...
Обычно, если у вас есть блок, занимающий несколько строк , вы используете do...end вместо { } , поэтому ваш код будет выглядеть следующим образом: describe when password is not present do before do...
Ошибка в том, что customer is not defined . Я предполагаю, что вы используете FactoryGirl, и у вас определена фабрика customer . Если это верно, то вы оставили метод Factory в customer hash it...
Когда вы include модуль, он делает свои методы доступными для экземпляров класса. Ваш метод test -это метод singleton (метод класса), а не метод экземпляра, и поэтому у вас никогда не будет доступа...
Во-первых, я бы улучшил ваш помощник, удалив все операторы return и удалив регистр info . def flash_type_to_alert(type) case type when :notice :success when :alert :warning when :error :danger else...
Во-первых, я думаю, что вы могли бы изменить свои методы на что-то подобное: def self.create_new_tenant(tenant_params, coupon_params) unless new_signups_permitted?(coupon_params) raise...
Согласно вашему spec_helper.rb , вы никогда не звоните DatabaseCleaner.clean . Он должен быть вызван для фактической очистки базы данных, например, в фильтре before(:each) : config.before(:each) do...
Как правило, это довольно хороший сигнал о том, что вам либо нужно провести рефакторинг кода, либо вы тестируете вещи, которые вам не нужно тестировать. Вместо того, чтобы тестировать реализацию...
Спецификация терпит неудачу в действии контроллера, который ничего не знает о ваших насмешках, если вы не сказали об этом явно. Добавьте это в свою спецификацию перед инструкцией get ....
Я смог решить эту проблему, заставив emacs использовать bash shell вместо zsh, как было предложено на домашней странице проекта rspec-mode. Я копирую эту информацию здесь: Если вы используете ZSH и...
Для проверки валидаций(любых) describe MyClass do it '#custom_validation' do expect(subject.valid?).to be_falsey #do stuff to subject to make it valid expect(subject.valid?).to be_truthy end end
Глядя на docstring rspec-project-root , кажется, что он ищет Rakefile в каталоге presenst или родительском каталоге. Вот строка документа Finds the root directory of the project by walking the...
Ваш метод puts вызывается, когда вы включили my_file.rb прямо вверху, до запуска тестов. Включите его в свой тест. describe Something I'm Testing do it 'should print Welcome to the Book Club!' do...
Вы можете заглушить добавление средства визуализации и проверить вызов блока из вашего кода. В приведенном ниже коде я предполагаю, что фрагмент, который вы дали, находится внутри метода с именем...