J'ai vue comme suit:vues spécifications à défaut après la mise à niveau Rails 5
json = render 'users/info', user: @user
json[:device] = render 'devices/info', device: @device
json[:locations] = locations.map { |l| render 'locations/info', l: l } if params[:locations_scope].present?
json
et j'ai un test comme suit:
before do
product
assign(:user, user)
assign(:device, device)
allow(view).to receive(:user_is_connected?) { false }
allow(view).to receive(:utc_string)
render
end
describe 'user object' do
it 'provies the email' do
expect(subject['user']['email']).to eq(user.email)
end
avant la mise à niveau des rails 5, il fonctionnait très bien , mais maintenant je reçois l'erreur
@rendered_views=#<ActionView::TestCase::Behavior::RenderedViewsCollection:0x007fd6e8f29a88 @rendered_views={}>> does not implement: user_is_connected?
la méthode user_is_connected?
est une aide méthode dans le contrôleur de base.
On dirait que ce comportement a changé dans RoR 5 mais je n'ai rien trouvé à ce sujet.
J'ajouté rails-controller-testing
au Gemfile aussi bien, mais encore, même problème