2012-04-08 84 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

相關問題