2012-04-08 75 views
0

我所描述的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

如果您担心您将创建一个测试,却忘了把任何它(有时我会创建三个测试中,我知道我需要,并依次对他们每个人的工作),那么你可以做到以下几点:

it "should calculates ages" do 
    fail 
end 

OR

it "should calculates ages" 

......而这一切(无块)将迎来测试作为自动挂起。换句话说,在他们有实际的测试代码之前,不要填写你的测试。此外,如果您未测试任何断言(即,如果您的规范不包含任何其中包含调用should的行),则您的规范似乎会通过。这发生在我身上了几次,我在那里写一个新的测试,希望它失败,并不会因为我忘了,包括调用should这是实际测试的断言。

+2

如果不通过一个块'it'在所有它被标记为您悬而未决。 – 2012-04-08 14:02:30

+1

啊,我忘记了。因此,它'“应该计算时代”'无'do'和块之后将自动标记测试为待定。这很容易。我编辑了我的答案。谢谢@FrederickCheung – jefflunt 2012-04-08 14:04:28

相关问题