问题标签 [rspec-rails]

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 投票
1 回答
1855 浏览

ruby-on-rails-3 - Ruby on Rails 教程(mhartl)“第 10 章:销毁用户”自动测试 rspec DELETE 'destroy' 失败

我正在做 Michael Hartl 的 Rails 教程截屏视频 + 第 10 章的在线书籍,我被困在最后一个子章 Destroying User。

控制台输出:

users_controller.rb

users_controller_spec.rb:

我是初学者,但总是习惯于在此处发布任何问题之前进行广泛的研究(90% 的时间我通过搜索 SO 和 Google 找到答案)。

我最后 2 个未发布的问题(在发布前找到了答案)通过更新我的 Gemfiles(rspec 中的 will_paginate 和 undefined _selector)得到了修复。这也可以吗?

感谢您的关注并花时间阅读本文。

0 投票
2 回答
1049 浏览

rspec - 如果发生 Timeout::Error 自动重新运行 rspec 示例

首先,我同意在大多数情况下模拟外部 API 调用是正确的做法。但是在这种情况下不是。

Timeout::Error在一些测试中遇到随机异常,我希望能够忽略它们并自动重新运行该示例。只有在 10 次不成功的尝试后才应报告失败。

应报告任何其他异常和故障。

我尝试使用文件中的全局around(:each)挂钩来实现此行为spec/spec_helper.rb

然而,当异常发生时,救援部分永远不会被执行。知道为什么吗?

谢谢!多里安

PS我正在使用rspec 2.6.0

0 投票
2 回答
491 浏览

ruby-on-rails - 为什么这个简单的破坏方法期望不起作用?

在这里做了一些研究并使用谷歌之后,我仍然对为什么这个简单的规范不起作用感到困惑:

这是 CartsController 的操作:

最后但并非最不重要的是,我得到的错误:

但是,我是 rspec 测试的新手,据我了解,我的销毁规范非常简单,它应该按预期执行。我不知道我做错了什么..

请帮助我,一如既往的感谢,

编辑..这是 current_cart 方法:

0 投票
1 回答
86 浏览

ruby-on-rails - RSpec'ing路线有什么意义吗?

在我目前正在开发的应用程序中,有一堆路由规范,例如:

进行这些类型的测试真的值得付出努力+运行时间吗?

我还没有遇到很多删除路由并且其他控制器测试无法捕捉到它的情况......

但我承认我不是 rspec 专家。

0 投票
0 回答
117 浏览

rspec-rails - 使用 spork 时的不同 rspec 结果

我最近将 Spork 添加到我的开发堆栈中,我只是喜欢提高的速度,但是有一些测试在有或没有 spork 的情况下执行不同。

有问题的测试非常简单,它测试一类对象可以获取另外两个对象并在它们之间创建连接。

如果我在运行spork 的情况下运行这个测试,那么这个测试就可以通过了。然而,如果没有spork,断言就会失败。object1在做出断言之前,我可以通过重新加载来让它在有或没有 spork 的情况下通过。

从需要reload在这些测试中添加的预期行为的角度来看,这并不是一个真正的问题,因为object1无论如何都会在对其进行任何调用之前重新加载associated_objects
我只是觉得这两种运行测试的方法有不同的结果很奇怪。我觉得我缺少一些关于 spork 工作原理的核心知识!比如,spork 会自动重新加载对象吗?
如果有人能为我阐明这一点,我将不胜感激。

0 投票
1 回答
1642 浏览

ruby-on-rails - 如何测试是否已在控制器规范中使用 rspec2 发送和交付电子邮件?

我在控制器规范中测试我的观点。电子邮件也可以吗?如果是这样,有人可以给我举个例子吗?

我目前正在进行集成测试:我从注册测试中获取了一些代码并将其转换,以便我可以测试我的重置密码,但停留在电子邮件部分。

我已经设置了用于注册和重置密码的电子邮件。成功注册后,用户会收到一封电子邮件,欢迎他们访问网站。密码重置用户会收到一封包含密码重置说明的电子邮件。

部分密码控制器:

用户控制器:

0 投票
2 回答
2923 浏览

ruby-on-rails - RSpec将POST参数转换为字符串?(测试文件上传器)

我正在使用这段代码来模仿文件上传的方式:

在 rspec 测试中,它被 POST 到控制器:

但它在实际控制器中打破了这一行:

因为 params[:register][:file] 被解释为字符串而不是 actiondispatch 对象:

这是 rspec 的标准行为吗?有没有办法通过参数传递对象?

0 投票
1 回答
502 浏览

ruby-on-rails-3 - 需要帮助 Rspec 测试

我正在尝试学习 RSpec 并为 CRUD 操作编写测试。这是我的控制器:

还有我的文章 rspec:

我的问题是当我在 PUT UPDATE 上运行 rspec 测试失败。但是 POST 测试通过了。我不知道发生了什么。我正在使用带有omniauth 的Rails 3.1.1。我没有使用设计。这是测试结果。为什么?请帮帮我好吗?

0 投票
1 回答
746 浏览

ruby-on-rails - 如何为rails中的模型方法编写rspec?

嗨,我在要为其编写 rpec 的 EnrolledAccount 模型中有以下方法。我的问题是如何在 rspec 中创建 Item 和 EnrolledAccount 之间的关联。

0 投票
2 回答
1506 浏览

ruby-on-rails - 在辅助规范中存根控制器辅助方法

在我的application_controller.rb

在我的帮手something_helper.rb

我正在编写规范something_helper并希望存根current_brand

结果是NameError: undefined local variable or method 'current_brand' for #<#<Class:0x000001068fd188>:0x0000010316f6f8>

我也尝试过stub!这样selfcontroller。奇怪的是,当我存根时self,它helper.stub!(:can?).and_return(true)会被取消注册。