Rspec 找不到未禁用的字段

Rspec 找不到未禁用的字段,rspec,ruby-on-rails-5,capybara,Rspec,Ruby On Rails 5,Capybara,因此,我目前正在使用capybara和rspec进行一些测试,我有一个错误消息 使用者 验证失败:名字不能为空,姓氏不能为空,系统生成的密码不能为空 水豚启动美洲狮。。。 *版本3.11.4,代号:情歌 *最小线程数:0,最大线程数:4 *倾听tcp://127.0.0.1:42509 找不到未禁用的可见字段“first_name” 创建一个新用户 下面是my_form.html.haml代码: 面板主体 =user do | f的简单形式| .表格输入 .col-md-6 =f.input:

因此,我目前正在使用capybara和rspec进行一些测试,我有一个错误消息

使用者 验证失败:名字不能为空,姓氏不能为空,系统生成的密码不能为空 水豚启动美洲狮。。。 *版本3.11.4,代号:情歌 *最小线程数:0,最大线程数:4 *倾听tcp://127.0.0.1:42509 找不到未禁用的可见字段“first_name” 创建一个新用户

下面是my_form.html.haml代码:

面板主体
=user do | f的简单形式|
.表格输入
.col-md-6
=f.input:first\u name,标签:I18n.t('user.first\u name'))
=f.input:middle\u name,标签:I18n.t('user.middle\u name'))
=f.input:last_name,标签:I18n.t('user.last_name'))
=f.input:username,标签:I18n.t('user.username')
.col-md-6
-是否为当前用户角色?“管理员”
=f.input:user\u role,标签:I18n.t('user.role'),集合:user::ROLES,include\u blank:false
-否则
=f.input:user\u role,标签:I18n.t('user.role'),集合:user::ROLES,include\u blank:false,disabled:true
=f.隐藏的\u字段:用户\u角色
.col-md-12
.形式行动
-如果@user.new\u记录?
=f.button:submit,I18n.t('user.create_user'),类:“btn btn primary”
=链接到I18n.t('cancel'),用户路径,类:“btn btn default”
-否则
=f.button:submit,I18n.t('user.update_user'),类:“btn btn主”

=link_to I18n.t('cancel'),user_path(@user),class:“btn btn default”
您在启动服务器之前收到验证消息“Users validation failed:First name can not blank…”,服务器告诉我您的工厂没有生成有效的用户记录。您应该使用FactoryBot linting功能,以确保所有工厂在运行测试之前生成有效记录。您还需要考虑对工厂中具有唯一性要求的部分(例如,
username
)使用序列,以便可以使用序列同时创建两个或多个记录


注意:不需要
开始。。。营救。。结束
block您已经包装了所有内容-任何引发的错误都将被打印出来,通过重新保存它们,您实际上是在防止有效的测试失败

您的用户工厂是什么样子的?另外,为什么您有
resue
子句?在代码中添加了我的工厂。我猜是不是要拯救输出错误?我刚在网上找到一个模板,我已经解决了,只需要编辑我的factoryBot。非常感谢。