1

私は FactoryGirl の大ファンですが、" .build_stubbed" メソッドを理解したことがなく、TDD にスタブ/モックを組み込みたいと考えています。FactoryGirl で実行できるスタブの種類の基本について誰か助けてもらえますか? Mocha または別の同様の GEM を使用してモッキング/スタブを処理する必要がありますか、それとも Rails 4 のデフォルトの MiniTest に含まれていますか?

4

1 に答える 1

3

factory girl コマンドbuild_stubbedは、オブジェクト (および関連するすべてのオブジェクト) が作成されますが、オブジェクトはデータベースに挿入されないことを意味します。より高速なテストが必要で、データベースにオブジェクトを含める必要がない場合は、これを使用する必要があります。

これは、コマンドがスタブやモックとあまり関係がないことを意味します。

私自身、モカの経験しかありませんが、スタブとモッキングに非常に使いやすいと言えます。

コマンドのスタブ化 (例: オブジェクト Person の)

    person = Person.new
    person.stubs(:name).returns('Robert')

上記の例では、人のインスタンスを作成し、メソッド名をスタブ化して、常に「Robert」を返します。

同じコマンドをモックアウトするため

    person = Person.new
    person.expects(:name).returns('Robert')

上記は、メソッドをスタブ化するのと同じことを行います。唯一の違いは、メソッド名が一度だけ呼び出されないとテストが失敗することです。

于 2013-07-22T09:11:12.520 に答える