类: RSpec::Matchers::MatcherProtocol
- 继承
-
Object
- Object
- RSpec::Matchers::MatcherProtocol
- 定义于
- lib/rspec/matchers/matcher_protocol.rb
概述
此类在运行时不会由 rspec-expectations 加载。它仅用于提供匹配器协议的文档。
rspec-expectations 可以与实现此协议的任何匹配器对象一起使用。
必需方法 折叠
-
#failure_message ⇒ String
只有当 #matches? 返回 false 时才会调用。
-
#matches?(actual) { ... } ⇒ Boolean
如果此匹配器与提供的对象匹配,则为 true。
可选方法 折叠
-
#actual ⇒ String, Object
用于差异的实际值。
-
#description ⇒ String
描述用于两件事:。
-
#diffable? ⇒ Boolean
指示此匹配器提供
actual
和expected
属性,并且这些属性返回的值可以有效地进行差异化,可以包含在输出中。 -
#does_not_match?(actual) { ... } ⇒ Boolean
在负向期望中,例如
expect(x).not_to foo
,如果定义了此方法,RSpec 将调用foo.does_not_match?(x)
。 -
#expected ⇒ String, Object
用于差异的预期值。
-
#expects_call_stack_jump? ⇒ Boolean
指示当此匹配器在块期望表达式中使用时,它期望块使用会导致调用堆栈跳转的 ruby 结构(例如引发错误或抛出符号)。
-
#failure_message_when_negated ⇒ String
只有当负向匹配失败时才会调用。
-
#supports_block_expectations? ⇒ Boolean
指示此匹配器可以在块期望表达式中使用,例如
expect { foo }.to raise_error
。 -
#supports_value_expectations? ⇒ Boolean
指示此匹配器可以在值期望表达式中使用,例如
expect(foo).to eq(bar)
。
实例方法详细信息
#actual ⇒String, Object
如果 diffable?
返回 true,则需要此方法。
用于差异的实际值。
# File 'lib/rspec/matchers/matcher_protocol.rb', line 88
|
#description ⇒String
描述用于两件事
- 当使用 RSpec 的单行语法时(例如
it { is_expected.to matcher }
),由于您没有提供文档字符串,因此描述用于生成示例的文档字符串。 - 在组合匹配器表达式中,描述用作外部匹配器的失败消息(和描述)的一部分。
# File 'lib/rspec/matchers/matcher_protocol.rb', line 42
|
#diffable? ⇒Boolean
指示此匹配器提供 actual
和 expected
属性,并且这些属性返回的值可以有效地进行差异化,可以包含在输出中。
# File 'lib/rspec/matchers/matcher_protocol.rb', line 82
|
#does_not_match?(actual) { ... } ⇒Boolean
在负向期望中,例如 expect(x).not_to foo
,如果定义了此方法,RSpec 将调用 foo.does_not_match?(x)
。如果未定义,它将回退到使用 !foo.matches?(x)
。这允许您为负向情况提供自定义逻辑。
# File 'lib/rspec/matchers/matcher_protocol.rb', line 24
|
#expected ⇒String, Object
如果 diffable?
返回 true,则需要此方法。
用于差异的预期值。
# File 'lib/rspec/matchers/matcher_protocol.rb', line 95
|
#expects_call_stack_jump? ⇒Boolean
此方法很少使用或需要。
如果未定义,RSpec 假设此方法的值为 false
。
指示当此匹配器在块期望表达式中使用时,它期望块使用会导致调用堆栈跳转的 ruby 结构(例如引发错误或抛出符号)。
这在内部用于复合块表达式,因为期望调用堆栈跳转的匹配器必须谨慎处理才能正常工作。
# File 'lib/rspec/matchers/matcher_protocol.rb', line 69
|
#failure_message ⇒String
只有当 #matches? 返回 false 时才会调用。
# File 'lib/rspec/matchers/matcher_protocol.rb', line 16
|
#failure_message_when_negated ⇒String
此方法被列为可选,因为匹配器不必支持否定。但是,如果您的匹配器确实支持否定,则这是必需的方法 - 否则,您将收到 NoMethodError
。
只有当负向匹配失败时才会调用。
# File 'lib/rspec/matchers/matcher_protocol.rb', line 35
|
#matches?(actual) { ... } ⇒Boolean
如果此匹配器与提供的对象匹配,则返回 true。
# File 'lib/rspec/matchers/matcher_protocol.rb', line 10
|
#supports_block_expectations? ⇒Boolean
如果未定义,RSpec 假设此方法的值为 false
。
指示此匹配器可以在块期望表达式中使用,例如 expect { foo }.to raise_error
。一般来说,这仅适用于对块的副作用而不是特定对象进行操作的匹配器。
# File 'lib/rspec/matchers/matcher_protocol.rb', line 55
|
#supports_value_expectations? ⇒Boolean
如果未定义,RSpec 假设此方法的值为 true
。
指示此匹配器可以在值期望表达式中使用,例如 expect(foo).to eq(bar)
。
# File 'lib/rspec/matchers/matcher_protocol.rb', line 63
|