我在测试一个模块( Foo::Api::Utility includes 它( self.class::BASE_URL ).
Foo::Api::Utility
includes
self.class::BASE_URL
这不起作用:
before(:each) do @utility = Object.new @utility.extend(Foo::Api::Utility) @utility.const_set('BASE_URL','https://domain.tld/api/v1') end
before(:each) do @utility_class = Class.new @utility_class.include(Foo::Api::Utility) @utility_class.const_set('BASE_URL','https://domain.tld/api/v1') @utility = @utility_class.new end
或者,用更简洁的方式:
before(:each) do @utility = Class.new do include Foo::Api::Utility const_set :BASE_URL,'https://domain.tld/api/v1' end.new end