ruby、rspec 中的describe、it 和def 之间的区别

pau*_*aul 2 ruby rspec

我是新来的rspec。浏览教程,我陷入了开头。当我使用框架时WATIRcucumber我从未见过describeit

那么有什么区别呢?什么时候用什么?

Gav*_*ler 5

描述用于解释正在做什么。通常,您将描述一个类,它将包含所有调用itit是在块内执行的测试用例describe

describe Foo do
  it "will return true" do
    expect(Foo.bar).to eq(true)
  end

  it "will return false" do
    expect(Foo.baz).to eq(false)
  end
end

# When run, rspec output is:
Foo
  will return true
  will return false
Run Code Online (Sandbox Code Playgroud)

在上面的例子中,it方法描述了如何bar以及baz将如何在类上运行Foo关于此的 rspec 文档值得一读。

  • ‘it’的内部运作相当复杂。在您阅读 RSpec 文档和一些有关 Ruby 的材料之前,将它与“def”进行比较不会有太大帮助。 (2认同)