[rspec-users] Mocking and specing command line (cli) execution, file operations etc. ?
ben at benmabey.com
Mon Jun 7 20:55:06 EDT 2010
Kristian Mandrup wrote:
> What are the options for creating specs for file operations, executing
> commands in the CLI etc.?
> If I build a generator or something which runs a lot of things in the
> command line, how do I check the results of these operations, fx
> mocking file system updates and/or mocking the STDOUT/STDIN from the
> There must be some add-on libraries or options for this out there to
> make it easy to accomplish.
In addition to aruba if you want to just use RSpec with StringIO objects
you might find this example group handy:
The example group assumes you follow the "runner" pattern where your
Runner class has a ::run method that takes args, out_stream,
error_stream. Many libraries use this pattern including Cucumber and
RSpec. The RSpec Book CLI app is setup this way as well if you want to
see an in-depth example.
In general, for simple CLIs aruba is probably the way to go though.
This example group is probably best if you want/need to use mocking more
to avoid expensive operations.
More information about the rspec-users