是否有RSpec匹配器来测试实例化类的参数数量?

时间:2016-04-25 14:48:39

标签: ruby oop rspec tdd rspec-expectations

RSpec中是否有任何匹配器检查是否使用参数实例化了一个类?

A(2:end,:)

这样的东西

谢谢!

2 个答案:

答案 0 :(得分:2)

The respond_to matcher that you give as an example exists, with the exact syntax that you give.

但是,您需要测试phone_numbers方法,而不是.new方法,因为.initialize是私有的。

.initialize

答案 1 :(得分:0)

我不是百分百肯定这是你要问的吗?默认情况下,如果类需要参数并且您实例化不正确,则会抛出ArgumentError。

require 'rspec'

class Test
  def initialize(var)
  end
end

RSpec.describe do
  describe do
    it do
      expect(Test).to receive(:new).with('testing')
      Test.new('test')
    end
  end
end

或者,您可以对论据使用attr_reader并比较instance_variables