相关疑难解决方法(0)

评估的Rspec {}使用最后一个变量值

我正在使用Rspec为我的程序进行一些测试.在一个规范中,我实例化了一次类,​​并使用describecontexts对它进行测试.如果似乎在上下文结束时被评估,我遇到了一些有趣的东西.例如,给定以下类及其相关规范:

class Tmp
  def initialize
    @values = {}
  end

  def modify(new_value1, new_value2)
    @values = {:a => new_value1, :b => new_value2}
  end

  def get_values
    return @values
  end
end
Run Code Online (Sandbox Code Playgroud)
describe Tmp do
  tmp = Tmp.new()

  describe "testing something" do
    context "change value" do

      # First evaluation
      tmp.modify("hi", "bye")
      it {tmp.get_values.should == {:a => "hi", :b => "bye"}}

      # Second evaluation
      tmp.modify("bye", "hi")
      it {tmp.get_values.should == {:a => "bye", :b => "hi"}}
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

使用提供的类和规范结果如下:

F. …
Run Code Online (Sandbox Code Playgroud)

ruby testing rspec

1
推荐指数
1
解决办法
1674
查看次数

标签 统计

rspec ×1

ruby ×1

testing ×1