0

我在 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

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

4

1 回答 1

1

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

it "should calculates ages" do
  fail
end

或者

it "should calculates ages"

...这就是全部(无块)将自动将测试标记为待处理。换句话说,不要填写你的测试,直到他们有实际的测试代码。

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

于 2012-04-08T13:39:34.120 回答