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.
