Module: RSpec::Core::Pending
- Included in:
- ExampleGroup
- Defined in:
- lib/rspec/core/pending.rb
Defined Under Namespace
Classes: PendingDeclaredInExample, PendingExampleFixedError
Constant Summary collapse
- NO_REASON_GIVEN =
'No reason given'
- NOT_YET_IMPLEMENTED =
'Not yet implemented'
Instance Method Summary collapse
-
#pending(*args) ⇒ Object
Stops execution of an example, and reports it as pending.
Instance Method Details
#pending ⇒ Object #pending(message) ⇒ Object #pending(message, &block) ⇒ Object
Note:
before(:each)
hooks are eval'd when you use the pending
method within an example. If you want to declare an example pending
and bypass the before
hooks as well, you can pass :pending => true
to the it
method:
it "does something", :pending => true do
# ...
end
Stops execution of an example, and reports it as pending. Takes an optional message and block.
71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 |
# File 'lib/rspec/core/pending.rb', line 71 def pending(*args) return self.class.before(:each) { pending(*args) } unless example = args.last.is_a?(Hash) ? args.pop : {} = args.first || NO_REASON_GIVEN if [:unless] || (.has_key?(:if) && ![:if]) return block_given? ? yield : nil end example.[:pending] = true example.[:execution_result][:pending_message] = if block_given? begin result = begin yield example.example_group_instance.instance_eval { verify_mocks_for_rspec } end example.[:pending] = false rescue Exception => e example.execution_result[:exception] = e ensure teardown_mocks_for_rspec end raise PendingExampleFixedError.new if result end raise PendingDeclaredInExample.new() end |