我想定义一个Proc
来传递给各种方法,我想在let
块中定义它
let(:proc) { Proc.new { |f| f.write("c1,c2,c3") } }
但是我一直收到错误
ArgumentError: tried to create Proc object without a block
尽管Proc显然有一个障碍。当我在IRB
中单独执行Proc时,它可以工作,所以我怀疑它与let
如何初始化它有关。
有办法解决这个问题吗?
谢谢!
答案 0 :(得分:3)
我无法复制这个。也许您有RSpec的旧版本?
在任何情况下,不要忘记proc
是Proc.new
的简写:
proc { "hello" }.call
# "hello"
proc
# ArgumentError
您可能只是遇到了命名冲突。尝试将let
参数名称更改为“proc”以外的其他名称。
答案 1 :(得分:0)
对于绊脚石的任何人:
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
应该工作