1

我在模型 Category 上有一个名为 create_main 的方法,用于创建主要类别。我是否应该在 before(:each) 部分中使用此方法,即使该方法本身必须经过测试,还是应该使用内置功能的 rails 手动创建主类别。

4

1 回答 1

2

应该可以将您的示例划分为两个示例组,其中一组使用 create_main 调用 before(:each),您可以使用它来测试除 create_main 之外的所有内容。然后,您有另一个子集,其中 before(:each) 不调用 create_main,在这里您测试 create_main。

就您而言,我认为您可以尝试以下方法:

describe Category, " without a main category" do
  before(:each) do
    # No call to create_main here
  end

  it "should create the main category" do
    # Here we test that create_main is working
  end
end

describe Category, " with a main category already created" do
  before(:each) do
    # This time, we do call create_main to set up the object as necessary
  end

  # More examples go here that depend on create_main
end

试一试。我不是 100% 确定它是否有效,但我过去曾见过类似的设置。

于 2008-11-06T15:20:12.330 回答