8vi*_*ius 4 ruby rspec ruby-on-rails
运行以下测试套件时:
require 'spec_helper'
describe User do
before { @user = User.(name: "Example User", email: "user@example.com" }
subject { @user }
it { should respond_to(:name) }
it { should respond_to(:email) }
end
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
Failure/Error: before { @user = User.(name: "Example User", email: "user@example.com") }
NoMethodError:
undefined method `call' for #<Class:0x007fdfd5dd8008>
# ./spec/models/user_spec.rb:15:in `block (2 levels) in <top (required)>'
Run Code Online (Sandbox Code Playgroud)
创建用户在控制台中工作正常,它响应方法.
您有语法错误:
before { @user = User.(name: "Example User", email: "user@example.com" }
Run Code Online (Sandbox Code Playgroud)
在左括号和左括号.之间应该没有User.你也错过了右括号.尝试:
before { @user = User.new(name: "Example User", email: "user@example.com") }
Run Code Online (Sandbox Code Playgroud)
如果您想知道特定的错误消息,在较新的Ruby版本中的.()工作方式如下call:
l = lambda { |x| x * x }
#=> #<Proc:0x007fe5d3907188@(pry):39 (lambda)>
l.call(3)
#=> 9
l.(3)
#=> 9
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9028 次 |
| 最近记录: |