有人如何在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_equal
,eq
,should
或其他mumbo jumbo。
答案 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设计为模块化。