2012-04-19 13 views
12

Diciamo che ho una definizione di classe in questo modo:Come affermare che una classe risponderà a un metodo di classe con RSpec?

class Foo 
    def init(val) 
    @val = val 
    end 

    def self.bar 
    :bar 
    end 

    def val 
    @val 
    end 
end 

con una specifica come:

describe Foo 
    it { should respond_to(:val) } 
    it { should respond_to(:bar) } 
end 

Il secondo it asserzione fallisce. Non mi è chiaro dalla documentazione di RSpec che respond_to dovrebbe fallire sui metodi di classe.

risposta

9

Il vostro esempio dovrebbe essere scritto in questo modo:

it 'should respond to ::bar' do 
    Foo.should respond_to(:bar) 
end 
Problemi correlati