ruby-on-rails - RSpec 共享示例不得共享

标签 ruby-on-rails rspec

这让我很意外……

似乎您不能在项目中的任何地方为 2 个 rspec 共享示例组使用相同的名称。如果你这样做,那么当你运行 rake spec (运行所有规范),然后 rspec 提示共享示例组被声明为非唯一名称。

即使调用 shared_examples_for 也会发生这种情况包含在一个 describe 块中(人们认为应该限定示例的范围)。

起初我试图通过更改示例组的名称来解决这个问题(不理想,但我可以接受)。

但是,当我想将示例组分解到一个单独的文件中以便我可以在多个规范文件之间共享它时,这就成了一个更大的问题。

单独运行时规范工作正常,但是当我运行套件时,rspec 提示。

`ensure_shared_example_group_name_not_taken': \
Shared example group 'a person' already exists (ArgumentError)

当然,这是一个普遍的问题。

有什么我在这里想念的吗?

最佳答案

从 rspec 2.6 开始,共享示例是全局的。您可以在示例组中声明它们,但它们的范围不限于该组。

关于ruby-on-rails - RSpec 共享示例不得共享,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6831227/

相关文章:

ruby-on-rails - Postgresql日期格式错误

ruby - Capybara::ElementNotFound - 我如何查看它检查的来源?

ruby-on-rails - 使用 rspec-rails 2.0.0.beta.8 模拟 View 助手

ruby-on-rails - 运行rspec时无法修改卡住的数组错误

ruby-on-rails - 访问其他模型

ruby-on-rails - ruby 进程间通信有哪些可用的消息解决方案?

mysql - 两个表上的许多 boolean 值

ruby-on-rails - 如何在 Rails 中正确呈现嵌套评论?

ruby-on-rails - 如何将大文件上传到 Rails 应用程序?

ruby - 使用 rspec 如何测试以正确顺序接收散列参数的方法?