我正在为用户编写测试,并收到此错误:

时间:2016-05-26 22:54:28

标签: ruby-on-rails ruby

$ Rspec spec/models/user_spec.rb
/usr/local/rvm/gems/ruby-2.3.1/gems/rspec-core-3.4.4/lib/rspec/core/configuration.rb:1361:
in `load': /Users/Tish/Projects/trainer-project/spec/models/user_spec.rb:14:
syntax error, unexpected tIDENTIFIER, expecting keyword_end (SyntaxError)

这里是user_spec.rb:

require 'rails_helper'

RSpec.describe User, type: :model do

  it "requires a name" do
    John = User.new(name: nil, email: 'me@gmail.com', password: 'password')
    expect(John).not_to_be_valid
    expect(John.errors[:name].any?).to_be_truthy
  end

错误消息指向这些行说它期望'结束',但结束就是......

  it "requires an email" do
    John = User.new(name: 'John', email: nil, password: 'password')
    expect(John).not_to_be_valid
    expect(John.errors[:email].any?)to_be_truthy
  end

  it "requires a password" do
    John = User.new(name: 'John', email: 'me@gmail.com', password: nil)
    expect(John).not_to_be_valid
    expect(John.errors[:password].any?)to_be_truthy
  end
end

1 个答案:

答案 0 :(得分:1)

根据docs,您需要to be_truthy(以及@RareFever指出的缺失点)。

相关问题