在哪里放置帮助程序规范(在Rails应用程序中测试其他内容的规范)

时间:2015-03-09 13:10:47

标签: ruby-on-rails ruby rspec

不要被标题混淆,我不是在问我可以在哪里放置测试Rails助手的规格,而是在Rails应用程序中测试其他东西的帮助程序规格。例如,检查所有翻译是否到位的规范。或者FactoryGirl工厂是有效的。

我知道FactoryGirl的工作人员建议把这个检查放在RSpec的before :suite上,但我更喜欢把它放在一个自己的spec文件中(这样当我想运行它时它就不会被执行)单一规格,例如)。

那么,什么 放置这些规格的地方?

1 个答案:

答案 0 :(得分:0)

我将FactoryGirl的规格放在spec/models/*_spec.rb中。例如

# spec/models/user_spec.rb
describe User do
  describe "factories" do
    it { expect(build(:user)).to be_valid }
  end
end

对于其他类型的规范,例如服务对象,我将它们放在spec/services/*_spec.rb中。 RSpec将自动检测它们。

被修改

对于翻译,我在视图规范中测试它们。首先,设置配置以提高翻译错误。

# config/environments/test.rb
# Raises error for missing translations
config.action_view.raise_on_missing_translations = true

然后在视图规范中,

describe "pages/welcome" do
  it { expect { render }.not_to raise_error }
end