问题标签 [rspec3]
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.
ruby-on-rails - Capybara 没有检查 rspec 功能测试中的复选框
我正在尝试创建一个功能测试,其中需要检查一个复选框,并且无论出于何种原因,Capybara 都没有选中该框。
我在用:
rspec:3.0.4 和水豚:2.4.1
当我打印出视图的快照时,未选中该复选框。
当我在 pry 中运行复选框代码时,它返回字符串“checked”但是当我打印快照时,复选框仍然没有被选中并且我的测试没有通过。我很好奇是否有另一种方法可以检查此复选框。
到目前为止,这是我当前的代码:
功能测试:
宏:
我的测试的输出是我必须选择 1 个用户,这意味着我没有检查用户。当我在控制台中运行检查行时,我得到的是:
任何帮助是极大的赞赏。
ruby-on-rails-4 - 使用 Rspec 测试自定义设计注册控制器更新操作
当您希望允许用户在不提供密码的情况下编辑他们的帐户时,我遵循了这个设计 wiki 文档,了解如何为注册控制器编写自定义更新操作,除非他们自己更改密码。 设计 Wiki - 如何允许用户在不提供密码的情况下编辑帐户。
但是,我无法弄清楚我的 Rspec 测试中缺少什么以使其通过。以下是相关的代码片段:
应用程序/控制器/registrations_controller.rb
规格/工厂/users.rb
规范/控制器/registrations_controller_spec.rb
当我运行规范时,我收到以下错误:
出于某种原因,它没有保存更新。我不确定是否应该输入密码才能进行更新?任何帮助,将不胜感激。谢谢!
ruby-on-rails-4 - rSpec3 在周围加倍
运行测试时出现以下错误
不支持在每个测试生命周期之外使用来自 rspec-mocks 的双精度数或部分双精度数。
我该如何解决这个问题?
ruby-on-rails - Rails/rspec 方法加倍而不是 any_instance.stub
我有一个项目现在正在使用 RSpec 3,但仍然包含(现已弃用)用于存根方法的 RSpec 2 语法。
目前我们广泛使用:
这些是从包含在 ActiveRecord 模型中的模拟模块中调用的(这一点很重要)。
模拟中的方法是从规范中调用的,具体取决于应用程序是应该真正运行其规范,还是以模拟模式运行。
所以,模拟模块最终看起来像这样:
我正在尝试将其转换为使用双打,但我无法弄清楚双打的等效语法。
任何人都可以以复制的行为的方式帮助我进行双打any_instance.stub
吗?
编辑 1
到目前为止,我最接近的是:
但是当我发布到控制器时对象 id 发生变化时,该方法不再被存根。
编辑 2
这是我能提供的尽可能多的代码:
然后模拟:
规格:
现在,问题是任何时候我any_instance.stub
在模拟中更改为使用双精度,特别是部分双精度,这是我能够得到的最接近的,如下所示:
该方法仍然存在,但是由于我的测试进行了真正的API交互,它再次在控制器中找到了提供者,它不是同一个实例Provider
,因此该方法当然恢复为默认值。
testing - Capybara click_link方法补丁
如何告诉水豚发送补丁方法?默认发生get。
测试
错误:
ruby-on-rails - 如何在 RSpec 中测试空白/空字符串以进行包含验证?
我的验证确保必填字段只能设置为A
或R
:
在模型中:
在 RSpec 中,我有以下规范:
第一个 RSpec 通过,但第二个出现错误:
我错过了什么?我正在使用 RSpec 3.1。
ruby-on-rails - FactoryGirl: has_many :through, validates_presence_of: 关联错误:不能为空?
我在我的 Article 工厂收到以下测试失败,该工厂与我的 Categories 模型有 has_many through:, validates_presence_of 关系。类别需要在创建文章之前存在,所以我设置了一个 before(:create), create_list 挂钩来创建一些类别并将其与正在创建的文章相关联,但我收到以下失败。我也尝试过使用关联(例如关联:类别,工厂::类别),但根据我所阅读的内容,我的模型所具有的关系(have_many :through)需要我使用 before(:create) 钩子. 我错过了什么?
楷模
工厂
ruby - Rspec 3 与 Rspec 2 匹配器
学习如何 Rspec 3. 我有一个关于匹配器的问题。我正在关注的教程基于 Rspec 2。
为什么代码会导致错误,而我注释掉的代码会出现折旧警告。
错误
ruby - Ruby + Rspec + OpenStruct 奇怪的行为
所以我在测试 ruby 类时遇到了这种奇怪的行为。顺便说一下,我正在使用 rspec 3 对其进行测试。
Foo类有一个方法'fetch_object',它从类Bar调用'find'方法来检索一个对象,然后从获取的对象中调用'fail'方法。
当我期望接收方法“失败”一次但没有接收到方法时,就会发生所谓的奇怪行为,但是如果我将方法名称更改为“失败”,它就像一个魅力:S
这是戏剧:
ruby-on-rails - 使用 rspec3 使用 shoulda-matchers 测试 has_many
我第一次尝试在新应用中使用 rspec3。我定义了两个简单的模型:
当我从控制台访问这些模型时,我可以创建关联并将它们按预期存储在数据库中。但是,当我尝试运行规范来测试它时,它似乎不起作用:
我尝试同时运行isexpected
版本和should
测试版本,但在这两种情况下,我都会收到以下错误:
以下是 Gemfile.lock 中的相关依赖项:
看起来它应该很简单。我是否做错了什么导致我收到此错误?