对于使用类的gem编写单元测试的最佳方法是什么?我写了一个gem,它在初始化过程中执行包含外部集成的事情。在编写测试时,我不想初始化所有的东西,我只想测试某些函数。编写RSpec来隔离和测试类中的特定方法
例如,我有lib/foomon.rb
:
class FooMon
def initialize
@log = Logger.new("app.log","daily")
pollingClient = SomePoller.new(remote_service_url)
pollingClient.poll do |response|
processResponse(response)
end
end
private
def processResponse(res)
{:response => res.body}
end
end
现在我想测试processResponse
功能。我采用的方法是删除private
修饰符,然后将代码从initialize
移至新的setup
方法。该应用程序的主要入口点然后调用设置,但我的测试不(他们只有@foomon = FooMon.new
在before
)。该规范则可以测试@foomon.processResponse
这是最好的方法?