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

テストを作成して、それを入れるのを忘れてしまうのではないかと心配している場合 (必要になるとわかっている 3 つのテストを作成し、それぞれに順番に取り組むこともあります)、次のことができます。

it "should calculates ages" do
  fail
end

また

it "should calculates ages"

...それだけです (ブロックなし) は、テストを保留中として自動的にマークします。つまり、実際のテスト コードが含まれるまで、テストに記入しないでください。

また、アサーションをテストしない場合 (つまり、spec に呼び出しを含む行が含まれていない場合should)、spec は合格したように見えます。これは私に数回起こりました。新しいテストを書いて、それが失敗することを期待していますshouldが、実際にアサーションをテストするものであるへの呼び出しを含めるのを忘れたため、そうではありません。

于 2012-04-08T13:39:34.120 に答える