使用"香草"在Rspec断言?

时间:2016-06-20 10:53:55

标签: ruby rspec

有人如何在Rspec中使用vanilla assert

require 'rspec'

describe MyTest do
  it 'tests that number 1 equals 1' do
    assert 1 == 1
  end
end

我得到的错误:

undefined method `assert' for
#<RSpec::ExampleGroups::Metadata::LoadFile:0x00000002b232a0>

请注意,我不想使用assert_equaleqshould或其他mumbo jumbo。

1 个答案:

答案 0 :(得分:2)

你可以很容易地做到这一点:

require 'rspec/core'
require 'test/unit'

describe 'MyTest' do
  include Test::Unit::Assertions
  it 'tests that number 1 equals 1' do
    assert 1 == 2
  end
end

(如果您希望能够通过执行ruby foo.rb来运行测试,那么您还需要rspec/autorun。这引入了所有这些断言。如果你真的不想要任何额外的断言,只需定义你自己的assert方法,当测试失败时会引发异常。

相反,您可以通过要求rspec/expectations轻松地在rspec之外使用rspec的期望语法 - rspec3设计为模块化。