问题标签 [rspec]

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 投票
3 回答
4301 浏览

ruby-on-rails - 如何使用 rSpec 测试 Rails 块助手

在我看来,我使用了一个将任意 HTML 作为块的助手:

我的助手在将传递的 HTML 块渲染回视图(Markdown 和其他格式)之前对它做了很多事情。我想知道在 rSpec 中测试助手调用结果的最干净的方法是什么,如果有的话。我发现了一些与 ERB 的私有方法有关的示例,但这似乎有点脆弱且难以阅读。

0 投票
2 回答
1114 浏览

ruby-on-rails - 如何最好地编写 RSpec 自定义匹配器来测试 Rails 应用程序中的访问控制

好的,所以我没有编写一大堆访问控制规范,并将它们复制到我的许多规范文件中,而是希望创建一个自定义匹配器。所以代替这个:

我想做这样的事情:

有什么例子或建议可以说明我如何去做这样的事情吗?

0 投票
2 回答
28646 浏览

ruby-on-rails - 如何使用 RSpec 在对象上添加多个 should_receive 期望?

在我的 Rails 控制器中,我正在创建同一个模型类的多个实例。我想添加一些 RSpec 期望,以便我可以测试它是否使用正确的参数创建了正确的数字。所以,这就是我的规范中的内容:

这会引起问题,因为似乎 Bandmate 类只能设置 1 个“should_receive”期望值。因此,当我运行示例时,出现以下错误:

这些是第二次调用 create 的正确参数,但 RSpec 正在针对错误的参数进行测试。

有谁知道我如何设置我的 should_receive 期望以允许多个不同的调用?

0 投票
1 回答
80 浏览

ruby-on-rails - 是否应该在 before(:each) 部分中使用自定义方法

我在模型 Category 上有一个名为 create_main 的方法,用于创建主要类别。我是否应该在 before(:each) 部分中使用此方法,即使该方法本身必须经过测试,还是应该使用内置功能的 rails 手动创建主类别。

0 投票
3 回答
3719 浏览

c - 你如何使用 Ruby/DL?这是正确的吗?

我正在尝试编写 RSPEC(ruby 风格的 BDD)和 Windows 应用程序之间的接口。应用程序本身是用一种晦涩难懂的语言编写的,但它有一个 C API 来提供访问权限。我已经使用 Ruby/DL,但即使是最基本的 DLL 方法调用也很难工作。这是我目前在一个名为 gt4r.rb 的文件中所拥有的:

到目前为止,我的阅读表明这就是我所需要的,所以我写了一个 RSPEC 示例:

而运行时...

返回值 (13) 是一个实际的返回代码,表示错误,但是当我尝试将 gTD_get_error_message 调用添加到我的 RSPEC 时,我无法让参数正常工作。

我是否朝着正确的方向前进,任何人都可以指出我可以尝试的下一件事吗?

谢谢,布雷特


对此问题的跟进,显示了当我尝试从目标库中获取错误消息时失败的部分:

我希望在@msg 中返回错误消息,但是运行时我得到以下信息:

如果我使用符号 (:msg) 来代替:

显然我错过了一些关于在 ruby​​ 和 C 之间传递参数的东西,但是什么?

0 投票
2 回答
785 浏览

ruby-on-rails - 使用 RSpec 在测试数据库中创建/重新创建迁移生成的记录

我在 Rails 中有一个将记录插入数据库的迁移。类别模型取决于此记录。由于 RSpec 在每个示例之前都会清除数据库,因此该记录会丢失,而且似乎永远不会创建,因为 RSpec 似乎不会从迁移中生成数据库。在数据库中创建/重新创建此记录的最佳方法是什么?它会使用 before(:all) 吗?

0 投票
13 回答
13186 浏览

ruby-on-rails - 找不到“rspec”生成器

在将 RSpec 作为插件安装后,我正在尝试将其安装为 gem。我已经继续并按照此处http://github.com/dchelimsky/rspec-rails/wikis中的说明找到了标题为rspec 和 rspec-rails gems的部分。当我运行时ruby script/generate rspec,我得到了错误Couldn't find 'rspec' generator。只有插件有效吗?如果是这样,为什么他们甚至为 rspec 和 rspec-rails 提供 gem?我正在运行 Rails 2.1.2 的冻结副本,我使用的 rpsec 和 rspec-rails 版本是今天(2008 年 11 月 7 日)1.1.11 的最新版本。

编辑 2008 年 11 月 12 日我安装了 rspec 和 rspec-rails gems。我已将 gem 解压到 vender/gems 文件夹中。两者都是 1.1.11 版本。

0 投票
2 回答
881 浏览

ruby - 为 iPhone 控制器使用 RSpec

0 投票
1 回答
2689 浏览

ruby-on-rails - 从帮助规范中获取“action_name”或“控制器”

假设我在application_helper.rb中有以下代码:

如果在索引操作中调用它会做一些事情。

问:如何在application_helper_spec.rb中为此重写帮助规范以模拟来自“索引”操作的调用?

0 投票
3 回答
5595 浏览

ruby - 集成测试中的模拟文件系统

我正在编写一个执行一些外部命令行实用程序的 ruby​​ 程序。如何从我的 rspec 测试中模拟文件系统,以便我可以轻松设置一些文件层次结构并在测试后对其进行验证。最好在 ram 中实现,以便快速运行测试。

我意识到我可能找不到可移植的解决方案,因为我的外部实用程序是直接与操作系统文件服务交互的本机程序。Linux 是我的主要平台和解决方案就足够了。