代码之家  ›  专栏  ›  技术社区  ›  Joe Dean

是否有用于Rails测试的安装程序类/拆卸类?

  •  10
  • Joe Dean  · 技术社区  · 17 年前

    我需要为一些类或系统范围的Rails测试提供一个设置和拆卸方法,但是我只找到了一种定义在每个测试级别上工作的常规设置/拆卸的方法。

    例如:

    class ActiveSupport::TestCase
      setup do
        puts "Setting up"
      end
    
      teardown do
        puts "tearing down"
      end
    end
    

    将为每个测试用例执行输出,但我希望:

    class ActiveSupport::TestCase
      setup_fixture do
        puts "Setting up"
      end
    
      teardown_fixture do
        puts "tearing down"
      end
    end
    

    它将执行设置 _ 固定装置 之前 所有测试方法,然后执行拆卸 γ 固定装置 之后 所有试验方法。

    有这样的机制吗?如果没有,有没有一个简单的方法猴子修补这个机制?

    2 回复  |  直到 12 年前
        1
  •  4
  •   James A. Rosen    17 年前

    有几种流行的测试框架是建立在 Test::Unit 并提供这种行为:

    RSpec

    describe "A Widget" do
      before(:all) do
        # stuff that gets run once at startup
      end
      before(:each) do
        # stuff that gets run before each test
      end
      after(:each) do
        # stuff that gets run after each test
      end
      after(:all) do
        # stuff that gets run once at teardown
      end
    end
    

    Test/Spec

    context "A Widget" do
      # same syntax as RSpec for before(:all), before(:each), &c.
    end
    
        2
  •  -1
  •   Rishav Rastogi    17 年前

    我认为Rails为fixture提供了这样的功能。你可以通过说

      fixtures :users
    

    在测试文件中

    除此之外,你还可以使用

    def setup
      #....
    end
    

    在您的测试文件中,

    推荐文章