On May 7, 2011, at 9:38 AM, David Chelimsky wrote:

> On May 4, 2011, at 2:29 PM, Nathan Voxland wrote:
> 
>> I have a JRuby Servlet environment very much like the "Parse Once,
>> Eval Many Times on Servlet" example at 
>> http://kenai.com/projects/jruby/pages/RedBridgeServletExamples.
>> 
>> What I am trying to do is execute an rspec test by hitting a URL
>> mapped to my JRuby servlet. I get an expected error the first time I
>> access the URL, but for each URL access after that I get the error
>> 
>> IOError: closed stream
> 
> <snip/>
> 
>> which appears to be because rspec does not expect me to be assigning a
>> new output to reporter on each execution.
>> 
>> Is there a supported way to re-execute rspec multiple times without
>> restarting my webserver?
> 
> No.
> 
>> Or does rspec expect to only be called once?
> 
> Yes.
> 
> RSpec is designed to automate other things, but you are trying to automate it 
> instead.
> 
> There is an open feature request that would probably satisfy your use case: 
> https://github.com/rspec/rspec-core/issues/359. Please feel free to add 
> comments there.

Actually, after further review, you can do this (something I never actually do 
- except in RSpec's own suite!):

RSpec::Core::Runner::run(options, err, out)

- options is an array of command line options (which includes a list of at 
least one directory and/or file). Run 'rspec --help' to see the available 
options.
- err is the error stream or file. It can be any IO object.
- out is the output stream of file. It can be any IO object.

HTH,
David
_______________________________________________
rspec-users mailing list
rspec-users@rubyforge.org
http://rubyforge.org/mailman/listinfo/rspec-users

Reply via email to