21

RSpecには次のものがあります:

describe "the user" do
  before(:each) do
    @user = Factory :user
  end

  it "should have access" do
    @user.should ...
  end
end

Test::Unit でそのようなテストをどのようにグループ化しますか? たとえば、コントローラーのテストでは、ユーザーがサインインしているときと、誰もサインインしていないときにコントローラーをテストしたいと考えています。

4

4 に答える 4

11

クラスを通じて同様のことを達成できます。おそらく誰かがこれはひどいと言うでしょうが、1 つのファイル内でテストを分離することができます:

class MySuperTest < ActiveSupport::TestCase
  test "something general" do
    assert true
  end

  class MyMethodTests < ActiveSupport::TestCase

    setup do
      @variable = something
    end

    test "my method" do
      assert object.my_method
    end
  end
end
于 2013-08-07T12:30:19.453 に答える
6

Test::Unit、私の知る限り、テストコンテキストはサポートしていません。ただし、gemcontestはコンテキストブロックのサポートを追加します。

于 2011-05-08T00:17:58.897 に答える
3

https://github.com/thoughtbot/shoulda すべきですが、コンテキスト関連のコードを別の gem にしたようです: https://github.com/thoughtbot/shoulda-context

于 2011-05-11T11:23:59.823 に答える