ruby-on-rails - user_spec 上未定义的方法 `Factory'

标签 ruby-on-rails factory-bot

我遇到了一个快速的问题。我得到了 user_spec 页面的“未定义方法‘工厂’”。我相信我对“let(:user) { Factory(:user) }”的语法不正确。但是我想不出一个有效的方法。

Failure/Error: let(:user) { Factory(:user) }
     NoMethodError:
       undefined method `Factory' for #<RSpec::Core::ExampleGroup::Nested_1::Nested_1:0x007fc7ac31e6a8>

如果有人可以看看我的代码并帮助我,那将不胜感激,因为我几乎完成了密码重置测试。

user_spec.rb:
require 'spec_helper'

describe User do
  describe "#send_password_reset" do
    let(:user) { Factory(:user) }

    it "generates a unique password_reset_token each time" do
      user.send_password_reset
      last_token = user.password_reset_token
      user.send_password_reset
      user.password_reset_token.should_not eq(last_token)
    end

    it "saves the time the password reset was sent" do
      user.send_password_reset
      user.reload.password_reset_sent_at.should be_present
    end

    it "delivers email to user" do
      user.send_password_reset
      last_email.to.should include (user.email)
    end
  end
end

最佳答案

工厂女孩方法如下:

let(:user) { FactoryGirl.create(:user) }

关于ruby-on-rails - user_spec 上未定义的方法 `Factory',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15249521/

相关文章:

testing - FactoryGirl 并获取所有关联的属性哈希

ruby-on-rails - rails : How do I ensure that the db reverts to its original state after tests?

ruby-on-rails - 通过 ruby​​ 调用 shell 命令时,该命令在什么上下文中运行?

ruby-on-rails - 如何在运行时检查我的Rails应用程序是否在开发环境或生产环境中运行

ruby-on-rails - RSpec,在请求规范中验证设计用户

ruby-on-rails - 如何正确使用对同一模型有多个关联的工厂?

ruby-on-rails - 工厂女孩 : How do define a factory without passing parameters

ruby-on-rails - 行动有效,但测试无效(应该)

javascript - 将变量值注入(inject) RoR 中的 javascript 和 HAML

ruby-on-rails - Factory Girl 和运行 db 时的延迟初始化 :migrate