问题标签 [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.

0 投票
0 回答
146 浏览

ruby-on-rails - 无法获取 rspec 控制器测试以查看我的会话控制器覆盖

我试图编写一个测试,该测试打破并掉进了试图让 rspec 甚至看到我的覆盖的兔子洞。我故意提出一个错误,以便我会注意到它。当我运行时,此代码在开发模式下成功引发错误rails server

我正在设置devise.mapping并尝试使用和不使用@.

在我的routes.rb我有:

我是否遗漏了使其正常工作所需的明显内容?它通过测试和交互方式引发了预期的错误cucumber,但rspec测试似乎完全跳过了覆盖并且所有测试都通过了。

0 投票
2 回答
5279 浏览

ruby - How can I check if my subject raises an exception?

I'm currently creating an object in subject and need to test if this raises an exception. The following code illustrates what I'm trying to achieve:

I have a feeling I'm going about this the wrong way. What is the preferred way to set the subject to a new object, without creating the object twice?


Update

My problem was two-fold. Firstly, this syntax does not work:

Using expect inside an it block does, however (as pointed out by Jimmy Cuadra):

I am not well enough acquainted with RSpec to tell you why this is.

Secondly, since RSpec 3.0.0.beta1, it is longer possible to use raise_error with a specific error class. The following, therefore, is invalid:

For more information, see

0 投票
3 回答
7534 浏览

ruby-on-rails - 在 RSpec 中获取“范围的坏值”

这是我的代码:

但是当我运行这个规范时,我收到以下错误:

它似乎检查了torails 中的方法active support,但我认为to应该是rspec. 以下是我的回溯

我检查了这个解决方案,但它不起作用。

我上线了

  • 导轨 4.0.2
  • Rspec 3.0.0
0 投票
1 回答
147 浏览

rspec3 - RSpec,有没有办法将已知错误标记为警告?

考虑 RSpec 测试发现错误的情况。我写了 PR,但我希望测试继续进行。我可以评论 expect() 但我不想忘记失败。

有没有办法发出警告而不是失败?像 expect_warn(...,'PR0032')

当 PR 修复后,我想返回并替换为原始的 expect()

谢谢

0 投票
1 回答
99 浏览

ruby-on-rails - 如何测试使用 puntopagos 和 rest-client 的控制器操作?

我有一个名为 POST 操作的控制器create。在创建操作中,我使用了一个puntopagos gem类 ( PuntoPagos::Request),它使用rest-client gem对 API 进行 POST:

如何使用 RSpec 存根其余客户端请求和响应以测试我的创建操作?

0 投票
1 回答
31 浏览

ruby - 在双重调用的方法上,对参数的期望

我创建了一个 double,我正在执行代码,该代码将使用一个方法和一个巨大的哈希作为参数调用它,我想验证参数的一个键,然后返回一个特定的哈希。

这就是我正在做的

发生的情况是,第一次do_stuff调用时,它返回块true的结果receive,但在随后的调用中(在 pry 中测试)它正确返回{stuff: 42},但由于第一次调用是错误的,我的方法在尝试调用时[:stuff]异常回报。

我试图让allow定义 double 的行为,所以我不想将 return 放在expect.. 的底部,但是有什么办法吗?

0 投票
2 回答
5107 浏览

ruby-on-rails - rspec 未决结果测试失败

当我运行 rspec 时:

任何想法为什么这被列为失败?

0 投票
2 回答
1056 浏览

ruby-on-rails - 具有多个断言的 RSpec 单元测试

首先,我知道在单元测试中有多个断言是不好的做法。

但有时您需要测试一些原子事务。作为一个简化的示例,让我们以一些具有 Account 类的银行应用程序为例:

在这种情况下,我想一起检查 3 件事:

  1. 源账户余额减少了amount
  2. 目的地账户余额增加了amount
  3. 已插入审核记录

测试该@account.transfer方法的最佳方法是什么?

0 投票
1 回答
56 浏览

ruby-on-rails - RSpec3 和消息期望

我正在使用 rspec 3.0.3 和 ruby​​ 2.1.2,只是无法弄清楚出了什么问题。抱歉代码实现不好(我的意思是类变量),但这是显示问题所在的更简单方法。

我有2节课。首先调用 Test 类的 new_method 应调用应更改 @@c_var 类变量的 AnotherTest.call_method。

我正在为它写规范:

这个规格工作正常。但是后来我尝试使用“期望接到电话”出现问题

似乎 RSpec 正在像迁移一样进行此检查并在其后进行回滚。

这是一个奇怪的示例,我知道,但我注意到这个错误只有在一个类实例的方法从另一个实例调用方法并且该方法试图改变某些东西时。

0 投票
1 回答
79025 浏览

ruby-on-rails - rspec 3 - 存根类方法

我正在从 rspec 2.99 升级到 rspec 3.0.3 并已将实例方法转换为 use allow_any_instance_of,但还没有弄清楚如何存根类方法。我有这样的代码:

我的 rspec 2 测试是这样做的:

这样做的 Rspec 3 方式是什么?