Release Notes: This release fixes static method mocking on instances, comparison of kwargs ordering, and ReturnValue string representation. Argument signatures on Mock objects are no longer enforced.
Release Notes: This release adds support for stubbing return values on getter properties and non-callable attributes. It also adds custom matcher object support to with_args(), stricter function signature checks, support for chained attributes, and iter support to Mock objects. should_call() is fixed to work with class mocks, and_return() is fixed to return None by default, and partial mocks created using the func=return_value style will now use replace_with() instead of should_receive() for callable values. As of this release, flexmock is also tested as working on PyPy and Jython.
Release Notes: This release adds python 3.3 as a tested target, proper handling of ordered() expectations across different methods, and property support on fake objects. It fixes compatibility with pytest 2.2, a bug with mocking subclasses of str class, a bug in tuple handling when formatting arguments, and a bug with reseting subclass methods.
Release Notes: This release fixes mocking builtins by resetting expectations when exceptions are raised during flexmock setup. It fixes mocking private methods on classes with leading underscores in the name. It limits the damage of "from flexmock import *" by restricting it to only import the flexmock() function. It fixes a subtle error by ensuring global success status is cleaned up after each test.
Release Notes: This release adds support for a number of popular test runners, including unittest2, django/trial, twisted, zope.testrunner, subunit, and testtools.
Release Notes: This release adds state machine support using when(). It makes expectations fail as soon as the number of expected calls is exceeded. flexmock_teardown no longer returns a function. This release fixes should_call(), allowing it on class and static methods while disallowing on class mocks. It fixes Unicode argument handling issues. It fixes issues with @property methods misbehaving in the debugger. It fixes pytest integration and instance teardown. It fixes private method handling.
Release Notes: pytest and doctest integration were fixed to always call flexmock_teardown. flexmock_teardown now returns a function as before so it can still be used as a decorator.
Release Notes: Big changes were made in runner integration support, so there is no more stack examination or sketchy teardown replacement. Doctest integration was added. Ordering verification when the method has a default stub was fixed. Calling with_args() without arguments was fixed to match exactly no arguments. Performance was improved by 20%. Partial mocks now return the object itself unless the object already has some of the flexmock methods. Consecutive flexmock calls now return the same mock object.
Release Notes: This release adds regex support for argument matching and spy return values. replace_with() has been enabled for class mocks. Expectation checking is disabled if an exception has already been raised. Massive refactoring of the way flexmock does monkey patching.
Release Notes: An exception type check when no exception message is specified was fixed. This makes properties work optionally with parentheses. should_receive() no longer replaces flexmock's own methods. The new_instances= param was removed in favor of the new_instances() method. Refactoring was done to move all state to the FlexmockContainer class.