Sha256: 5b5fabf217f1a7565ee5a014f8671df683d1fc2cc0cb0ebe228821964ac627de
Contents?: true
Size: 1.92 KB
Versions: 2
Compression:
Stored size: 1.92 KB
Contents
fault_injection.rb ** FAQ * What is it? - A 'fault injection' tool for ruby. * What is a 'fault injection'? What is it used for? - Fault injection is one of testing techniques. It makes easier to test your application's error handling behavior or to improve the coverage of your tests. See http://en.wikipedia.org/wiki/Fault_injection for more details. * What can I do with fault_injection.rb ? - You can raise error at any line of code or particular method call without changing the target code. * Cat it be used with Ruby on Rails testing? - It should, but it's not yet tested well with big applications. Please try and feel free to send me a bug report. * Can I use it in my application code? - No. It is for your testing code. * Can I use it everywhere in my test code? - You should not. It is for some limited situation that rarely happen or difficult to set up (ex. IOError). If you can make 'evil situation' easily, that's better ;) In addition, fault_injection.rb uses set_trace_func API of ruby and it makes a script much slower. ** Installing $ sudo gem install faultinjection ** Sample codes # sample.rb class Foo def foo puts "I love injection" end def bar 10 / 2 # this is line 7 end end __END__ # test.rb require 'rubygems' require 'fault_injection' FaultInjection.inject "Foo#foo > Kernel#puts", IOError, "IO error" f = Foo.new f.foo #=> IOError FaultInjection.inject "sample.rb:7",ZeroDivisionError f.bar #=> ZeroDivisionError __END__ ** License This code is free to use under the terms of the MIT license. ** Contact The SVN repository is available at http://faultinjection.rubyforge.org/svn/ Comments are welcome. Feel free to Send an email to keisukefukuda@gmail.com (Please include 'ruby' or 'fault_injection' in the title). Thank you for using fault_injection.rb
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
faultinjection-0.0.2 | README.txt |
faultinjection-0.0.3 | README.txt |