11

我需要为某些类或系统范围的 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

它将在所有测试方法之前_执行设置夹具,然后在所有测试方法之后执行拆卸夹具。_

有没有这样的机制?如果没有,是否有一种简单的方法来修补这个机制?

4

2 回答 2

4

有几个流行的测试框架构建Test::Unit并提供了这种行为:

规范

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

测试/规格

context "A Widget" do
  # same syntax as RSpec for before(:all), before(:each), &c.
end
于 2009-06-07T14:56:47.103 回答
-1

我认为 rails 为固定装置提供了这样的功能。您可以通过说来使用固定装置

  固定装置:用户

在您的测试文件中

除此之外,您还可以使用

默认设置
  #....
结尾

在你的测试文件中,

于 2009-06-06T17:21:26.877 回答