我在我的宝石中有Constant,它会在启动服务器时从使用应用程序中获取数据。但是当我执行测试用例时,我怎样才能跳过那个常量调用,以免它抛出任何错误。如何在全局常量抛出错误时执行rspec?
#file in my gem
class FallbackConfig
DATA = YAML.load(File.open(File.join('config','fallback_data','data.yml')))
end
使用gem运行应用程序时没有问题。但是当我执行测试用例时,那个时候它也在寻找这个值并抛出以下错误。
Praveen-Mac-mini:global-nav-gem brilliomac$ rspec spec
Coverage report generated for RSpec to /Users/brilliomac/Desktop/global-nav-gem/coverage. 22/88 LOC (25.0%) covered.
/Users/brilliomac/Desktop/global-nav-gem/lib/global_nav_gem/configuration_file.rb:2:in `initialize': No such file or directory @ rb_sysopen - config/fallback_data/global_nav_data.yml (Errno::ENOENT)
当测试用例执行并抛出错误时,stubbing会适用。但对于我来说,它在执行任何testcase之前执行上述类并抛出找不到错误文件。 – Praveenkumar