Ruby 如何在RSpec中未描述的示例上显示故障?

Ruby 如何在RSpec中未描述的示例上显示故障?,ruby,rspec,Ruby,Rspec,我正在描述RSpec上的课程 班级学生 def初始化(名称、出生日期) @name=name @dateOfBirth=出生日期 结束 定义名称 @名字 结束 定义年龄 #应该计算年龄吗 结束 结束 描述学生做什么 上下文 学生=学生。新(“Stanislav Majewski”,“1999年4月1日”) 它“应该返回名称”吗 studio.name.should eq(“Stanislav Majewski”) 结束 它“应该”做什么 #未描述 结束 结束 结束 RSpec返回: .. F

我正在描述RSpec上的课程

班级学生
def初始化(名称、出生日期)
@name=name
@dateOfBirth=出生日期
结束
定义名称
@名字
结束
定义年龄
#应该计算年龄吗
结束
结束
描述学生做什么
上下文
学生=学生。新(“Stanislav Majewski”,“1999年4月1日”)
它“应该返回名称”吗
studio.name.should eq(“Stanislav Majewski”)
结束
它“应该”做什么
#未描述
结束
结束
结束
RSpec返回:

..

Finished in 0.00203 seconds
2 examples, 0 failures

是否有一种优雅的方式来显示未描述该方法的失败消息?

如果您担心创建测试而忘记将任何内容放入其中(有时我会创建三个我知道需要的测试,然后依次处理每个测试),那么您可以执行以下操作:

it "should calculates ages" do
  fail
end

…仅此而已(无块)将自动将测试标记为挂起。换句话说,在测试中包含实际的测试代码之前,不要填写测试


此外,如果您不测试任何断言(即,如果您的规范中不包含任何调用
should
的行),那么您的规范将看起来通过测试。这种情况在我身上发生过好几次,我编写了一个新的测试,期望它失败,但这并不是因为我忘记了包含对
应该
的调用,这实际上是对断言的测试。

如果你根本没有将一个块传递给
,它会被标记为挂起。啊,对了,我忘了。因此,
it“应该计算年龄”
而不使用
do
,之后的块将自动将测试标记为挂起。那容易多了。我已经编辑了我的答案。谢谢@Frederickheung
it "should calculates ages"