我正在参与 Rails 项目,并注意到大多数规范文件都具有类似于以下内容的内容:
new_user = create(:user)
该规范工作正常,但由于我使用的是 Rubymine,我收到一条提示说参数太多。事实证明,spec_helper.rb 中引用了另一个类,它也有一个不带参数的 create() 方法。在执行过程中,使用了FactoryGirl方法,但是当我提到将调用更改为:
new_user = FactoryGirl.create(:user)
我收到另一位团队成员的投诉,称现有版本是简写形式,并且假定为 FactoryGirl。在我的实现中列出 FactoryGirl 需要更多的按键操作。
我仍然认为我有道理,因为列出 FactoryGirl 类确实可以绝对清楚正在使用哪种方法(更不用说让 Rubymine 安静下来),但我们应该保留代码不变吗?
最佳答案
RubyMine 7 似乎无法正确支持 FactoryGirl 语法。
检查this thread在 JetBrains 开发者社区和 the mentioned issue在 RubyMine 问题跟踪器上(您可以对该问题进行投票以引起关注)。在社区帖子中,JetBrains 开发人员建议禁用对整个测试文件的检查 :(
关于ruby-on-rails - 您是否应该在 build() 和 create() FactoryGirl 方法前面加上类名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27749040/