问题标签 [factory-bot]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
1114 浏览

ruby-on-rails - Factory Girl 使用 Ruby on Rails 进行测试,依赖项

我正在使用 RSpec 为 Ruby on Rails 应用程序编写一些测试,并且遇到了一个我似乎无法弄清楚的问题。我有一堆与其他对象相关联的对象,我正在使用 Factory Girl 来创建它们。这是我遇到问题的示例:

所有的包都属于一个用户,所以第一个依赖是相当微不足道的。创建一个用户,然后将其与一个包关联,没问题。现在问题来了。我的包模型有一个验证,表明如果包中没有至少一个项目,就无法创建它。这意味着我不能在其上使用 Factory.create。这与在我的 packages_controller.rb 中执行 @Package.new 几乎相同,这很好。后来,我继续创建一个项目,问题是,我无法将这个项目与包关联,因为包还没有 ID。

无论如何我可以创建我的包,创建一个项目并保存它,然后一旦包有一个 id 就将两者关联在一起?

0 投票
1 回答
2131 浏览

ruby-on-rails - factory_girl has_many:通过验证

我有以下型号:

我无法创建 :activity 工厂,因为我收到验证错误“活动不能为空白”。

我的工厂是这样的:

当我在我的规范中运行这个工厂时出现错误: @activity = Factory(:activity)

请帮忙!

0 投票
1 回答
1669 浏览

ruby-on-rails - 用户的未定义方法“password_confirmation”:使用 Cucumber 和 Factory Girl 测试 Authlogic

当我单独测试它们时,我的测试工作正常,

但是当我尝试跑步时

他们因以下错误而失败

当我尝试使用 Factory.build(:user) 创建用户时会出现这种情况。我有一个定义 :user 的工厂文件。

我真的不知道如何确认这一点,但好像 authlogic 不存在并且 User 模型还没有添加的方法。当我在工厂尝试构建新用户时查看用户方法 (User.new.methods.include?("password_confirmation=")) 时,有一个由该名称定义的方法。

我对此进行了很多搜索,但没有看到任何相关内容,所以我假设这是我正在做的其他事情。

编辑:

更多信息 - 我已经能够在一个简单的案例中重现这一点:

- - - - 。特征

---- 工厂.rb

---- 步骤.rb

0 投票
1 回答
1541 浏览

ruby-on-rails - 存根 factory_girl + rspec 方法和属性

我在 Rails 2-3-stable 上使用 factory_girl + rspec:

测试:

代码:

这个简单的测试失败了,加上真正的lastfm_enabled?方法被真正调用。

@profile 不是模拟,它是用 factory_girl 创建的。

最初我也对 lastfm_scrobbling 属性进行了 stub,但我正在考虑 factory_girl 的工作方式,因此更喜欢直接设置它。

知道为什么吗?

0 投票
2 回答
531 浏览

ruby-on-rails - factory_girl 、 rpsec 2.0 和 rails 3.0 的问题 => 无法让 has_one 关系很好地协同工作!

我正在运行 rails 3.0、rspec 2.0 和 factory_girl。这是我正在使用的简化方案:用户一次只能订阅一个计划

当我运行 rspec spec/models/user_spec.rb 我得到这个错误:

失败/错误:user = Factory(:user) SQLite3::ConstraintException: users.plan_id 可能不是 NULL

我做错了什么?我被这个非常简单的场景困住了,这非常令人沮丧。那时BDD让我慢下来!

0 投票
1 回答
477 浏览

ruby-on-rails - 为什么 rspec 重定向在测试期间没有得到完整的路由?

我正在尝试对控制器进行以下功能测试。我正在使用以下

  • RSpec2
  • 导轨 3
  • 舒德拉
  • 摩卡

这是测试

被测控制器是

唯一失败的测试是第三个测试,它表示返回的路径是“http://test.host/models”而不是“http://test.host/models/1”

当我在浏览器中运行应用程序时,我得到了正确的重定向。

0 投票
1 回答
2444 浏览

ruby-on-rails - rspec 与 Factory Girl 的模型关联

我正在尝试为国家模型创建一个 rspec 测试。此状态模型与 Country 模型有关联。我的工厂看起来像

我已经制作了一个功能状态模型 rspec,但我不确定我设置状态 @attr 的方式是正确的还是 hack

作为 rails/rspec 的新手,我不确定强行说:country_id => country.id是正确的还是解决问题的廉价方法。我很感激我能得到的任何帮助或建议。

为了以防万一,我还包括了这两个模型。

0 投票
1 回答
1080 浏览

ruby-on-rails - rspec validates_presence_of 多态属性 ruby​​ on rails

我正在为一个地址模型编写一个 rspec,该地址模型具有一个名为:addressable. 我正在使用工厂女孩进行测试。

该模型没有控制器,因为我不希望创建独立地址,但这不会阻止 rspec 创建独立地址。我的模型、工厂和 rspec 是

此 rspec 测试将创建一个 addressable_id 和 addressable_type 为 NULL 和 NULL 的地址,但如果我从任何其他模型创建,比如说用户模型或商店模型,它将放入正确的数据。因此,我试图弄清楚和研究的是如何验证多态属性并通过工厂对其进行测试,但没有成功。

很抱歉啰嗦了,但在过去的几个小时里我还没有找到解决方案,我开始考虑我可能以错误的方式处理这个问题。

0 投票
10 回答
12229 浏览

ruby-on-rails - railstutorial.org - 未定义的方法“工厂”

我正在尝试关注 railstutorial.org,目前在第 7 章,您开始使用工厂:http ://railstutorial.org/chapters/modeling-and-viewing-users-two#sec:tests_with_factories

我正在使用 Rails 3.0.1 和 ruby​​-1.9.2-p0

我无法通过我的 rspec 测试,但我得到的错误是

我的 factory.rb 看起来像这样:

这是我的users_controller_spec.rb文件:

这是我的 Gemfile,如果有帮助的话:

0 投票
3 回答
2441 浏览

ruby-on-rails - Rails/Devise - 我应该用 devise 和 rspec 测试什么?

许多程序员使用设计作为他们的身份验证解决方案,我想听听他们的建议:

设计已经过测试,但我想知道是否有需要我自己测试的东西(集成/单元/功能测试?),以便与我的知识进行标准设计集成(我不熟悉应该和黄瓜,但我知道一点rspec和工厂女孩)

谢谢你的建议!!