Sha256: bf69fab1d9213634d3df354b341e964a22834b2dbcdf51424cf798764032bdec
Contents?: true
Size: 1.65 KB
Versions: 1
Compression:
Stored size: 1.65 KB
Contents
# 0.0.5 * Fix concurrency [#6](https://github.com/testdouble/mocktail/pull/6) # 0.0.4 * Introduce Mocktail.explain(), which will return a message & reference object for any of: * A class that has been passed to Mocktail.replace() * An instance created by Mocktail.of() or of_next() * A nil value returned by an unsatisfied stubbing invocation * Fix some minor printing issue with the improved NoMethodError released in 0.0.3 # 0.0.3 * Implement method_missing on all mocked instance methods to print out useful information, like the target type, the attempted call, an example method definition that would match the call (for paint-by-numbers-like TDD), and did_you_mean gem integration of similar method names in case it was just a miss * Cleans artificially-generated argument errors of gem-internal backtraces # 0.0.2 * Drop Ruby 2.7 support. Unbeknownst to me (since I developed mocktail using ruby 3.0), the entire approach to using `define_method` with `*args` and `**kwargs` splats only further confuses the [arg splitting](https://www.ruby-lang.org/en/news/2019/12/12/separation-of-positional-and-keyword-arguments-in-ruby-3-0/) behavior in Ruby 2.x. So in the event that someone calls a method with an ambiguous hash-as-last arg (either in a mock demonstration or call), it will be functionally impossible to either (a) validate the args against the parameters or (b) compare two calls as being a match for one another. These problems could be overcome (by using `eval` instead of `define_method` for mocked methods and by expanding the call-matching logic dramatically), but who's got the time. Upgrade to 3.0! # 0.0.1 Initial release
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
mocktail-0.0.5 | CHANGELOG.md |