2016-03-27 3 views
0

Я новичок в тестировании функций и capybara, у меня есть настоящий простой тест функции прямо сейчас, и я не могу заставить его пройти, но я считаю, что это из-за чего-то, m делать неправильно написания теста. Я отправлю свой тест и дам мне знать, если что-нибудь выскочит на кого-нибудь и станет явной ошибкой dev. Я думаю, что это то, что я делаю с чеком?Ошибка функции при попытке использовать «check»

require "rails_helper" 

RSpec.feature "Send a message" do 
    scenario "Staff can send a message" do 
    visit "/" 

group = Group.create!(name: "Group A") 
user = User.create!(email: "[email protected]mple.com", password: "password") 
fill_in "Email", with: "[email protected]" 
fill_in "Password", with: "password" 
click_button "Sign in" 

fill_in "Enter a Message:", with: "Test Message" 
check("message_group_#{group.id}") 
click_button "Send Message" 


expect(page).to have_content("Messages on their way!") 
end 

Это сообщение об ошибке, которое я получаю.

Send a message Staff can send a message 
Failure/Error: expect(page).to have_content("Messages on their way!") 
    expected to find text "Messages on their way!" in "Tulip Time Text Numbers Sent Messages Scheduled Messages Statistics [email protected] Logout SMS Notifications Use this form to send SMS notifications to Visitors, Staff or Volunteers. Enter a Message: Groups: Group A Scheduled Text Message:" 

Message.rb

def create 
@message = Message.create(message_params) 
if @message.save 
    run_at_time = @message.send_at.present? ? @message.send_at : Time.zone.now 
    people = Person.in_groups(message_params[:group_ids]) 
    if people.any? 
    people.each do |person| 
     person.delay(run_at: run_at_time).send_message(@message.body) 
    end 
    flash[:success] = "Messages on their way!" 
    end 
    redirect_to root_path 
else 
    render "new" 
end 
end 

enter image description here

+2

Что заставляет вас думать, что проверка является проблемой? Если проверка не удалась, Capybara выдаст ошибку на этой строке, вы должны проверить свои тестовые журналы и проверить, какие параметры отправляются –

+0

Да, это не проверка, но я до сих пор не могу понять, почему у нее нет содержимого, которое я предлагаю , он передает все проверки и, во что бы то ни стало, этот код должен пройти, но это просто не будет? – Bitwise

+0

Опубликуйте свой код контроллера и ответ HTML –

ответ

1

Группа вы создаете в качестве тестовых данных пуст поэтому без вспышки сообщение не создается. Вместо того, чтобы создавать объекты вручную, вы, вероятно, захотите взглянуть на использование одной из заводских библиотек (FactoryGirl, Machinist и т. Д.), Чтобы помочь в создании объектов без необходимости предоставлять все значения каждый раз, а также создавать необходимые ассоциации.

Смежные вопросы