ruby-on-rails - 有没有办法提供更好的 rspec 测试描述

标签 ruby-on-rails ruby bdd rspec2

我使用 rspec 有一段时间了,最​​近从

it "should do something cool" do
  @something.should work
end

更简洁

subject(@something)

it {should work}

虽然在编写测试和在代码中查看它们时我更喜欢更简洁的风格,但我怀念能够为每个测试指定描述的能力,特别是因为相等性消息仅显示正在测试的值。所以在上面的示例中,假设测试通过,使用第一种样式,我会收到一条消息说“它应该做一些很酷的事情”,而第二种只会说它已经起作用。

有谁知道这样做的方法吗?干杯

最佳答案

我认为您对 specify/subject block 的作用有错误的概念。它们并不是要完全替代您从中切换过来的更冗长的语法,但应该在不需要描述时使用。

所以如果你想要描述,只需使用

it "should do something cool" do
  @something.should work
end

此外,我个人并不认为specify/subject 更简洁。对我来说,这与使用 rspec 读取创建的更类似于 DSL 的方式规范有一步之遥,但这可能是个人偏好的问题。

关于ruby-on-rails - 有没有办法提供更好的 rspec 测试描述,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9410086/

相关文章:

ruby-on-rails - Rails 3 : How to stop logger from logging/healthcheck requests?

ruby-on-rails - 关系数据库(外键)

ruby - 检查 "command"的输出应该包含 NilClass 的意外崩溃

javascript - Ruby on Rails : Display confirmation message if not includes

javascript - Rails 4 形式 : conditional display of fields based on radio button selection

ruby - 安装 RVM 时出错

ruby-on-rails - 使用 `where` 语句查找关联计数的最佳语法是什么

ruby-on-rails - 目录 : How to load the related record in a one-to-one relationship

mysql - 计数为 0 的结果未出现

java - 使用不同的基于java的spring上下文配置与cucumber