Thanks for the explanation and the links.

To the Formatters!

On Thursday, October 16, 2014 5:05:47 PM UTC-4, Myron Marston wrote:
>
> On Thursday, October 16, 2014 1:33:48 PM UTC-7, Kevin Solorio wrote:
>>
>> It seems like the result of running the test is not available on the 
>> example object during the after callback hook. Is there another place to 
>> hook into RSpec where that information will be set?
>>
>> To give some back story, I'm using RSpec to help teach coding, and I'd 
>> like to have the test run send stats to a server every time a student runs 
>> a test. Specifically, did the test pass or fail on this run. I figured the 
>> after(:example) hook would be the best place to do this, but it seems that 
>> the data is not part of the object just yet. Where else can I grab this 
>> data?
>>
>
> It's not available in `after(:example)` hooks because the example isn't 
> finished until the `after(:example)` hooks run.  If an error is raised 
> while executing the `after(:example)` hook, it'll cause the example to 
> fail, so the status isn't set until _after_ the after hooks run.
>
> To monitor the status of examples, I recommend defining and using a custom 
> formatter.  While the primary use case of formatters is to format the 
> console output as the spec suite runs, they are a generalized mechanism to 
> get notified of events (example started, example complete, etc) as the 
> suite progresses, and you can use those event notifications for any purpose.
>
> To build a custom formatter, see the cucumber feature[1] for a simple 
> example and the API docs[2][3] for detailed documentation.
>
> HTH,
> Myron
>
> [1] 
> https://github.com/rspec/rspec-core/blob/v3.1.7/features/formatters/custom_formatter.feature
> [2] http://www.rubydoc.info/github/rspec/rspec-core/RSpec/Core/Formatters
> [3] 
> http://www.rubydoc.info/github/rspec/rspec-core/RSpec/Core/Formatters/Protocol
>

-- 
You received this message because you are subscribed to the Google Groups 
"rspec" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/rspec/e254cf0d-2776-492e-bd80-2f95ad1c1d64%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to