Создайте фабрику хот-дил, используя factory girl с department_id 1 . Внутри вашего product_detail_controller_spec.rb (который должен быть скорее множественным числом, т. Е. product_details для...
Попробуйте заменить //p[contains(text(), '[the-text-i-am-searching-for]')] на //p[contains(., '[the-text-i-am-searching-for]')] Я не знаю вашего окружения, но в Python с lxml это работает:...
Попробуйте добавить следующую строку в файл spec_helper.rb : require 'factory_girl' Кроме того, добавьте эти строки в свой spec_helper.rb : FactoryGirl.definition_file_paths.clear...
Код, который вы опубликовали выше, содержит тест в блоке описания. Обычно с Rspec вы помещаете тест в блок it. Нравится: describe Sevenpages:Public::PagesController do describe 'GET #show' do it...
Значения атрибутов элемента можно получить с помощью метода [] . Например: find('div.progress-bar')['aria-valuenow'] #=> 40 find('div.progress-bar')['aria-valuemax'] #=> 100 Вы можете...
Из документов Capybara здесь есть раздел, в котором используется DSL в другом месте Вы можете использовать этот код: require 'capybara/dsl' # putting this at the top level will make capybara methods...
Используйте let для определения вспомогательного метода memoized. Значение будет кэшировано через несколько вызовов в одном и том же примере, но не через примеры. Обратите внимание, что let...
Вы могли бы переопределить их с помощью expect(Person).to receive(:find).and_call_original который дополнительно проверит, что исходный метод :find был вызван на person
Для Rails 4.x уровень журнала настроен немного иначе, чем в Rails 3.x Добавьте это к config/environment/test.rb # Enable stdout logger config.logger = Logger.new(STDOUT) # Set log level...
Проблема для этого конкретного вопроса заключается в том, что ваш вызов visit находится в неправильном месте, но ваша большая общая проблема заключается в том, что вы пишете свои функциональные...
Я нашел ответ в этом вопросе на Rspec Github: На случай, если кто-нибудь загуглит и приземлится здесь. Если помещение файла с общими примерами в папку поддержки не исправило следующее error...Make...
Потому что вы не говорите ему перезагрузить вашу запись. экземпляр Comment в вашем контроллере создается независимо от переменной @comment , установленной в ваших спецификациях. Поэтому, если вы не...
Если вы включили опцию verify_partial_doubles , то RSpec проверит, отвечает ли Slack на :channels_join , когда вы его заглушаете. К сожалению, Slack.respond_to? реализован неправильно : def...
Попытка заглушить методы, которые может использовать Devise, будет довольно трудной, если вы не поймете, как работает Devise. Рекомендуемый способ тестирования-просто войти в систему пользователя с...
Ваш пользовательский валидатор ожидает, что должны существовать как start_date , так и end_date . Если они не существуют, возникает ошибка - например, здесь: start_date > Time.current.to_date ....
Вы не должны вызывать external APIs в своих тестах. Есть несколько способов избежать этого: VCR gem записывает ответ API в первом вызове, а затем отвечает на него с диска (это быстро и надежно)....
После долгих исследований проблема, похоже, связана со спецификациями, использующими JS в целом, а не с патчем обезьяны AR. Я перефразировал проблему в новом вопросе здесь: RSpec+Capybara...
Причина примерно в let . let ленив. Он ничего не сделает, пока ты его не позовешь. В вашем случае вы фактически вызвали let определенных методов в ожидании. В это время let создает записи для вас,...
Один из простых способов сделать это-добавить теги для ваших опций, хотя в вашем случае это может не сработать. rspec --tag sleep_5_seconds А потом в вашем spec_helper.rb RSpec.configure do |c|...
Предполагая, что вам уже требуется 'rspec', вам просто нужно включить модуль RSpec::Matchers в свой класс. class AssertTest include PageObject include RSpec::Matchers span(:success, text: Message...
Ваш метод create должен что-то сделать. Либо визуализируйте шаблон, либо перенаправьте. Поскольку вы не говорите ему перенаправлять, предполагается, что вы хотите, чтобы он отображал шаблон, но...
Вам не нужно добавлять пользовательскую проверку. Рассмотрите возможность использования проверки численности, предоставленной ActiveRecord: class Student < ActiveRecord::Base validates :name,...