问题标签 [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 回答
281 浏览

ruby-on-rails-4 - 带有 Rails 4 和 Rspec 3 的mutant-rspec

它似乎没有运行我的规范(规范/模型中的日志语句不显示在日志中)。

我有一个带有标准描述块的相当简单的用户模型(描述用户...):

0 投票
2 回答
102 浏览

ruby-on-rails-4 - RSpec 模型测试:失败

我正在自学 RSpec (v3.1.7)。我已将 rspec 安装rails g rspec:install到现有的 Rails 应用程序中 - 新创建的。

我创建了一个模型:rails g rspec:model zombie. 运行迁移,一切顺利。

在:app/models/zombie.rb:

在:app/spec/models/zombie_spec.rb:

当我运行时在终端(在应用程序目录中):rspec spec/models我得到:

我按照视频教程进行操作,然后按照视频(使用 RSpec 进行测试)一直到后者。我喜欢在第2章减肥。我错过了什么吗?该视频是否使用旧版本的 rspec 作为视频教程?

在我的迁移文件中:

0 投票
1 回答
11350 浏览

ruby-on-rails - RSpec中的“be_true”和“be true”有什么区别

任何人都可以用简单的例子解释一下Rubybe_true和Ruby 之间的区别。be true我也看到be_true并被be_false更改为be_truthybe_falsey

我有一个'be true'有效的例子,但是当我尝试使用'be_true''be_truthy'规范失败时。

我正在使用 RSpec 版本 3.1.7

0 投票
1 回答
5693 浏览

ruby-on-rails - RSpec:重新打开类时存根 Rails.application.config 值不起作用?

我在应用程序配置中定义了一个选项。我要测试的课程是在 gem 中定义的(不是我写的)。我想重新开课:

我想使用 RSpec 3 测试这段代码:

如何在运行重新打开类的代码之前存根应用程序配置值。

0 投票
0 回答
202 浏览

ruby-on-rails-4 - Rspec 3.1 current_url == http://test.host/venues v application == http://www.example.com/venues

我正在使用 rspec 3.1 测试 Rails 应用程序,期望如下:

这会导致以下故障:

为什么期望域与应用程序指向的位置之间存在差异?

如果我使用测试通过expect(current_path).to eq venues_path

0 投票
1 回答
874 浏览

ruby - rspec 带有参数的新语法存根方法并返回固定值

我想存根对象A以使用参数1响应下一个消息并返回“B”字符串。

我想A.stub(:next).with(1).and_return("B")用新的 rspec 语法写一行,A.allow...但我找不到在哪里添加该with部分

0 投票
1 回答
288 浏览

ruby-on-rails - 如何防止 RSpec 在生成的规范中使用“Rspec.describe...”和“type:...”?

自从升级到 RSpec 3RSpec.describe后,我生成的规范文件不仅包含describe,而且还显式包含了类型,例如:type => :model. 例如,这是刚刚为名为“Plan”的类生成的模型规范文件:

我宁愿让它看起来像这样(注意第 3 行的更改):

...“类型”调用似乎特别多余,因为我config.infer_spec_type_from_file_location!rails_helper.

如何让 RSpec 生成看起来像我的第二个示例的规范文件?我不想每次都手动编辑它。

0 投票
1 回答
200 浏览

ruby - RSpec3 模拟参数期望 - 使用 &block?

我有一个接收块的方法,并将其委托给另一个方法。真的很简单:

我希望 RSpec (v3) 测试接收到的块是否已传递给新方法。我的测试目前看起来像:

但是 RSpec 给了我一个 ArgumentError: `with` 必须至少有一个参数。使用 `no_args` 匹配器来设置不接收参数的期望。有没有办法让 RSpec 期待一个带有特定块的方法调用?

0 投票
1 回答
437 浏览

ruby - 如何仅快速失败特定的 rspec 测试脚本?

我有一个 rspec 测试套件,它们分为不同的文件。每个文件都代表一个带有一些测试步骤的测试场景。现在,在某些特定测试中,可能会发生特定步骤失败,但它太耗时并且不需要在该场景中运行其余步骤。

我知道 rspec 中有一个选项 --fail-fast 但是如果我正在运行如下测试: rspec spec/* 这意味着当任何脚本中的第一步失败时,它将中止完整的执行。我只是在寻找在发生故障时中止执行该特定测试场景(测试脚本)但继续执行其他测试场景的机制。

谢谢你的帮助,巴基尔

0 投票
1 回答
20809 浏览

validation - Rails 4、rspec 3:模型验证测试

我有一个organization具有属性的对象name, doing_business_as。我需要验证name与 不同doing_business_as

我有一个匹配的 rspec 文件来验证这一点:

但是,当我运行规范时,它失败了,这就是我得到的:

我期待规范通过并确保这两个属性不能相同。在 Rails 控制台中,我可以模仿预期的行为,但我似乎无法让规范成功“失败”。

我还通过 Rails 控制台检查了它是否按预期工作:

所以我知道功能在那里,但我无法获得可行的测试......