Mon contrôleur est capable de créer un enfant book_loan. J'essaie de tester ce comportement dans un test fonctionnel mais j'ai du mal à utiliser la méthode assert_difference. J'ai essayé un certain nombre de façons de passer le nombre de book_loans à assert_difference sans aucune chance.Affirmer la différence de nombre d'enfants en relation dans Ruby on Rails
test "should create loan" do
@request.env['HTTP_REFERER'] = 'http://test.com/sessions/new'
assert_difference(books(:ruby_book).book_loans.count, 1) do
post :loan, {:id => books(:ruby_book).to_param,
:book_loan => {:person_id => 1,
:book_id =>
books(:dreaming_book).id}}
end
end
ne peut pas convertir BookLoan en chaîne
assert_difference(books(:ruby_book).book_loans,:count, 1)
NoMethodError: méthode non définie '' pour book_loans #
assert_difference('Book.book_loans.count', +1)
ne peut pas convertir Proc en chaîne
assert_difference(lambda{books(:ruby_book).book_loans.count}, :call, 1)