shoulda相关内容

我如何让应该承认我的多态关联

之前已经问过一个几乎相同的问题(如何使用 shoulda 匹配器来测试多态关联?)但是有没有明确的答案对我有帮助,所以我再试一次. 我正在使用 shoulda 来测试我的关联,但以下测试失败 需要'spec_helper'描述分娩硬膜外做{@treatment = FactoryGirl.build :treatment} 之前主题{@治疗}它{应该有_许多:并发症}结尾 失败并显示以下 ..
发布时间:2022-01-02 10:08:48 其他开发

使用大括号的单行 shoulda 语法

在 Rails Test Prescriptions(b10.0,第 176 页)一书中,有如下单行断言示例: 应该“成功"{ assert_response :success } 这对我来说似乎不是有效的 ruby​​ 语法,并且 ruby​​ 报告左大括号是意外的.为了解析它,我必须把它改成 应该“成功";做 assert_response : 成功结束 第一个例子的语 ..
发布时间:2021-09-06 18:54:55 其他开发

测试驱动开发 - 我应该测试数据库列和索引吗?

我是 TDD 的新手.我发现 should gem 能够测试数据库实体的列是否存在,以及测试其索引的能力. 但是是否有必要在我的测试套件中包含对列和索引的测试? 我是否需要担心在开发过程中可能删除任何列和索引? 解决方案 不要测试数据库列;那只是测试实现.不要测试实现,测试行为.测试使用存储在这些列中的属性的功能.例外:如果您的架构有外部要求(这在我身上从未发生过,但我可以想象 ..
发布时间:2021-09-04 20:21:31 其他开发

您如何在 Rails 测试中指定 POST 参数?

使用 Test::Unit 和 Shoulda.尝试测试 Users.create.我的理解是 Rails 表单为这样的对象发送参数: 用户[电子邮件] 在您的操作中哪个会变成哈希,对吗? params[:user][:email] 好的,所以在我的测试中我已经尝试过... setup { post :create, :post =>{ '用户[电子邮件]' =>'无效@abc' } } ..
发布时间:2021-07-11 20:22:04 其他开发

为什么我应该在 Rails 中使用 RSpec 或 shoulda?

我正在设置一个 rails 应用程序,我刚刚完成了一些单元测试,我的朋友说,显然夹具不再酷,人们现在正在使用 RSpec 或 shoulda.我想知道使用这些其他工具包的实际好处是什么.任何信息都表示赞赏. -fREW 解决方案 RSpec 和类似框架是旨在帮助行为驱动开发的工具.它们不仅仅是编写测试的一种更漂亮的方式,尽管它们确实对此有所帮助. 这里有大量关于 BDD 的信息 ..
发布时间:2021-07-11 20:20:00 其他开发

如何在测试环境中运行 Rails 控制台并加载 test_helper.rb?

背景:我在使用 Thoughtbot 的“工厂女孩" gem 时遇到了一些问题,它用于创建用于单元和其他测试的对象.我想转到控制台并运行不同的 Factory Girl 调用来检查发生了什么.例如,我想去那里做... >>工厂(:用户).检查 我知道你可以在不同的环境中运行控制台... $ 脚本/控制台 RAILS_ENV=test 但是当我这样做时,工厂类不可用.看起来 test ..
发布时间:2021-07-11 19:10:32 其他开发

如何测试范围?

试图找到但没有成功.只是想知道如何在 Rails 3 中测试作用域. 可能使用 rspec、should 或只是一个测试单元. 谢谢. 其实我是这样试的,但是还不是完整的测试,因为还需要放order()方法. 范围: scope :recents_available, where(:available => true, :locked => false).order("c ..

rspec + shoulda:设置数据

我有以下测试.共有三个 it 块.与其他两个不同,第一个不使用 should. 如果我不将 before 块与 post :create, product: attrs 一起使用,那么第一个测试会按预期失败.但是如果我把 before 块放在那里,那么第一个测试失败,但其他两个通过.我对产品名称进行了唯一性验证,但这应该不是问题,因为我使用的是带有工厂的序列. 我该怎么办?当同时存在 ..
发布时间:2021-07-10 20:52:23 其他开发

RSpec vs. 应该?

我是单元测试领域的新手;我现在只使用了大约 2 个月的单元测试.当我在 Ruby 中进行单元测试时,我目前遵循 TDD 风格并使用 Test::Unit::TestCase.我还阅读了 RSpec 以及它如何遵循 BDD 方法.我也读过关于位于两个框架之间的 Shoulda.我的问题是,我应该将时间花在 RSpec 或 Shoulda 上,还是应该坚持使用 Test::Unit::TestCase ..
发布时间:2021-07-10 20:43:20 其他开发

应该使用class_name 和foreign_key

我知道您可以使用 Shoulda 轻松测试归属关系: describe Dog dog它{应该属于(:所有者)}结尾 是否可以使用 Shoulda 测试更复杂的belongs_to 关系?像这样: class Dog "人", :foreign_key =>“person_id"结尾 解决方案 您应该能够使用: 它{应该属于(:owner).class_name('Person') } ..
发布时间:2021-07-10 20:43:08 其他开发

RSpec - 未定义的方法“key?"

我正在尝试为渲染模板运行测试并遇到错误: 未定义的方法`key?'对于 1014:Fixnum 我的模型实例的存根在我的路由测试中正常工作,但在这里没有那么多.我做错了什么? describe RestaurantsController 所做的让(:餐厅){ FactoryGirl.build_stubbed(:餐厅)}描述 'GET #show' 做在 { 获取 :show, restau ..
发布时间:2021-07-10 20:42:31 其他开发

应该a匹配器应该validate_uniqueness_of在范围内失败

我有 3 个模型,用户、游戏和玩家.用户和游戏之间基本上是多对多的关系,以玩家作为连接表,除了玩家有其他信息所以它有自己的模型. 玩家需要一个唯一的游戏 ID 和用户 ID 组合,所以我试图在玩家中说: validates_uniqueness_of :user_id, :scope =>:game_id 然后在我的规范中,我说(使用 shoulda 匹配器): 它{应该validat ..
发布时间:2021-07-10 20:38:52 其他开发

应该/RSpec:确保验证消息“xxx"在 :base

我仍然很困惑it { should have(1).error_on(:base) } 之类的东西背后的魔法是什么,以及什么是特定的 Shoulda 匹配器. 我想确保 :base 包含错误消息“xxx",那么我该怎么做? 它“应该包含错误信息'xxx'"做联系方式有效吗?contact.errors[:base].should include('xxx')结尾 这是“要走的路",还是有 ..
发布时间:2021-07-10 20:38:07 其他开发

无法测试应该属于,在 Rails 上缺少 id 外键

您好,我一直在寻找一种方法来测试模型关系并偶然发现应该是宝石 应该 (3.5.0) 应该-上下文 (1.2.1) shouda-matchers (2.8.0) 不幸的是,我试图用 rspec 测试一个简单的例子 describe Region do它“应该有一座城市"吗应该属于(:城市)结尾结尾 我总是收到一条消息 Region 应该有一个城市失败/错误:应该属于(:城市) ..
发布时间:2021-07-10 20:37:56 其他开发

应该使用自定义关系名称匹配器 has_many

如何使用应该匹配器测试这个 ActiveRecord 关系? 模型 class User 测试 describe User do它 { 应该有_many(:articles) }结尾 我收到以下错误: 1) 用户应该有很多文章失败/错误:它 { 应该有_many(:articles) }预期用户具有称为文章的 has_many 关联(文章没有 user_id 外键.)# ./sp ..
发布时间:2021-07-10 20:37:26 其他开发