0

私は現在、非常に基本的なレール 3.2 アプリでミニスカートとミニテストを実行しています。私が抱えている問題は、同じ "describe" 句内で 2 つの "it" テストを宣言すると、setup メソッドのミニスカート データが 2 回作成されることです。エピソード #327 で Ryan Bates が概説したセットアップを使用しています。

def setup
    @res_a = Factory(:reservation)
    @res_b = Factory(:reservation)
end

レーキ テストを使用してテストを実行すると。最初のテストで合計 2 件の予約を取得し、2 回目のテストで合計 4 件の予約を取得します。

何か案は?

アップデート:

これは私が実行しているテストの例です

it "should return all reservations for a given date" do
  Reservation.for_date(Time.mktime(2012, 1, 1)).all.count.must_equal 2
end

上記のテストを 2 つの異なる it メソッドで実行すると、実際のカウントが 4 であるため、2 番目のテストは失敗します。したがって、Miniskirt はテスト間でデータベースをロールバックしていないように思えます。

4

1 に答える 1

0

「記述」を使用する場合は、前後に使用します。

http://old.rspec.info/documentation/before_and_after.html

===スペック

  require 'minitest/autorun'

  describe Meme do
    before do
      @meme = Meme.new
    end

    describe "when asked about cheeseburgers" do
      it "must respond positively" do
        @meme.i_can_has_cheezburger?.must_equal "OHAI!"
      end
    end

https://github.com/seattlerb/minitest

于 2012-10-26T05:15:53.593 に答える