相关疑难解决方法(0)

RSpec类变量测试

我正在使用RSpec测试gem中的类级实例变量(和setter).我需要测试以下内容:

  1. 如果从未使用过setter,则会提供正确的默认值.
  2. 可以通过setter成功更新变量.

显然这里有一个运行订单问题.如果我使用setter更改值,我将失去对默认值的记忆.我可以在setter测试之前将它保存到变量中,然后在结束时重置该值,但是只有在所有setter测试都遵循相同的做法时才能保护我.

测试变量默认值的最佳方法是什么?

这是一个简单的例子:

class Foo
  class << self
    attr_accessor :items
  end
  @items = %w(foo bar baz) # Set the default
  ...
end

describe Foo do

  it "should have a default" do
    Foo.items.should eq(%w(foo bar baz))
  end

  it "should allow items to be added" do
    Foo.items << "kittens"
    Foo.items.include?("kittens").should eq(true)
  end
end
Run Code Online (Sandbox Code Playgroud)

ruby rspec

7
推荐指数
2
解决办法
1万
查看次数

标签 统计

rspec ×1

ruby ×1