0

ログインしたユーザーはリソースにアクセスでき、さまざまな方法でそこにアクセスできます。それぞれが同じ期待値をテストするサンプルグループが必要です。

私はpage.should have_content("...")期待をafter(:each)ブロックに入れましたが、それはあまり良い解決策ではありません: 保留中であると宣言すると、とにかく失敗します。失敗すると、エラーは (最初は) 白く表示されます。

それぞれが同じ期待値を持つサンプル グループをどのように記述すればよいですか?

4

1 に答える 1

1

共有サンプル グループが必要なようです。

describe 'foo' do
  shared_examples "bar" do
    it 'should ...' do
    end
  end

  context "when viewing in the first way" do
    before(:each) do
        ...
    end

    it_behaves_like 'bar'
  end

  context "when viewing in the second way" do
    before(:each) do
        ...
    end

    it_behaves_like 'bar'
  end
end

before ブロック内で、アクションが正しい方法で実行されるように設定します。これを行う別の方法は、共有された例でメソッドを呼び出し、コンテキストごとにdo_foo異なる実装を提供することです。do_foo

共有したいものがセットアップのものである場合は、コンテキストを共有することもできます。

于 2012-12-29T10:12:44.633 に答える