如何在RSpec中的未描述示例中显示失败?

时间:2012-04-08 12:40:21

标签: ruby rspec

我在RSpec上描述课程

class Pupil
      def initialize(name, dateOfBirth)
            @name = name
            @dateOfBirth = dateOfBirth
      end

      def name
            @name
      end

      def ages
            #should calculate ages
      end
end

describe Pupil do
      context do
            pupil = Pupil.new("Stanislav Majewski", "1 april 1999")

            it "should returns name" do
                  pupil.name.should eq("Stanislav Majewski")
            end

            it "should calculates ages" do
                  #not described
            end
      end
end

RSpec返回:

..

Finished in 0.00203 seconds
2 examples, 0 failures

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

1 个答案:

答案 0 :(得分:1)

如果您担心自己会创建一个测试而忘记放入任何测试(有时我会创建三个我知道我需要的测试,并依次处理它们)然后你可以做以下内容:

it "should calculates ages" do
  fail
end

OR

it "should calculates ages"

...而且全部(没有阻止)会将测试标记为自动挂起。换句话说,在他们的测试代码中包含实际测试代码之前,请不要填写测试。

此外,如果您不测试任何断言(即,如果您的规范中不包含任何调用should的行),您的规范似乎会通过。这种情况发生在我身上几次,在那里我写了一个新的测试,期望它失败,但事实并非如此,因为我忘了包含对should的调用,这实际上是测试断言。