运行minitest时出错,期待但是渲染

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了运行minitest时出错,期待但是渲染相关的知识,希望对你有一定的参考价值。

测试此代码时出现故障...所述错误是“期待<”admin / dashboard“>但是使用<[]>进行渲染

集成测试页面代码片段是

require 'test_helper'
class SiteLayoutTest < ActionDispatch::IntegrationTest
  def setup
    @admin = admins(:admn)
  end

  test "admin dashboard link" do
    get login_admin_path
    post login_admin_path, params: { session: { username: @admin.username,
                                          password: 'Ha66y@Air' } }        

    get admin_dashboard_path
    assert_template 'admin/dashboard'
 end
end 

route.rb中的代码片段是

get '/admin/dashboard', to: 'admin#dashboard'

登录控制器中的代码片段是

def create
    admin = Admin.find_by(username: params[:session][:username])
    if admin && admin.authenticate(params[:session][:password])
      # render 'admin/dashboard'
      log_in admin
      params[:session][:remember_me] == '1' ? remember(admin) : forget(admin)

      redirect_to admin_dashboard_path


    else
      render 'login/admin'
      flash.now[:danger] = 'Invalid email/password combination'
    end

  end

管理控制器中的代码段是

def dashboard
    redirect_to root_url unless logged_in?
    @admin = current_user
  end

admins.yml的代码片段是

admn:
  username: "adminm"
  password_digest: <%= Admin.digest('admin') %>

该应用程序在服务器中成功运行。但是,运行测试时会发生错误。

答案

redirect_to admin_dashboard_path不呈现模板,它呈现重定向命令; HTTP 302.然后浏览器立即获取指定的页面,这就是手动测试通过的原因。试试assert_redirected_to

以上是关于运行minitest时出错,期待但是渲染的主要内容,如果未能解决你的问题,请参考以下文章

在片段内使用回收器视图时出错

为啥我的 Minitest 测试没有并行运行?

在我的“设置”片段中膨胀类 PreferenceScreen 时出错

在片段中创建自定义列表视图时出错所需活动,找到片段

ActivityNotFoundException,启动活动时出错

@controller在特定情况下的minitest是nil错误