Changelog

0.13.1 (2021-09-20)

Fixed

  • Fixed issue #37 (dictionary changed size during iteration in ABCMock when used with no expectations set)

0.13.0 (2021-09-10)

Added

  • Introducing mockify.abc module - a set of ABC classes for Mockify
  • Introducing mockify.api module - a proxy for doing single-line imports of Mockify classes and functions
  • Added mockify.mock.BaseFunctionMock for making function mocks with user-defined fixed set of parameters
  • Added support for mocking magic methods in mockify.mock.Mock class
  • Added max_depth parameter to mockify.mock.Mock class constructor, so it can have limited depth of method namespacing (by default, the depth is unlimited)

Changed

Deprecated

  • Current core module mockify is now made deprecated, so using names from that module will cause deprecation warnings. Please use mockify.core instead.
  • Class mockify.core.LocationInfo is made deprecated and will be removed soon

0.12.0 (2020-11-29)

Added

0.11.0 (2020-11-24)

Added

Changed

Deprecated

  • Methods mockify.core.BaseMock.__m_fullname__() and mockify.core.BaseMock.__m_walk__() are made deprecated and will be removed in one of upcoming releases; functionality is now provided completely by class mockify.core.MockInfo (which was previously acting as a proxy)

Other

  • Added CLI tasks to serve documentation and coverage locally for development purposes

0.10.0 (2020-11-13)

Added

  • Added support for Python 3.9

Other

0.9.1 (2020-11-09)

Other

  • Added job to publish coverage reports to https://codecov.io/gl/zef1r/mockify
  • Using -pe as default mode to invoke task runner (with help of config file)
  • Since now, tags are verified by CI before publishing to any PyPI, so it will not be possible to publish to test PyPI and to not publish to production PyPI (or vice-versa)

0.9.0 (2020-11-08)

Added

  • Added mockify.core module to replace importing of core stuff directly from mockify root module.

    So instead of doing this:

    from mockify import satisfied
    

    It is recommended to do this:

    from mockify.core import satisfied
    

    This was changed because importing things directly from root module is discouraged, as it leads to longer import times.

Deprecated

  • Importing core parts of library directly from mockify core module is now deprecated - use mockify.core instead.

    Since one of upcoming non-fix releases importing core parts of library from mockify core module will not work, unless you will use this:

    from mockify import core
    

Fixed

  • Fixed some pylint bugs

Other

  • Changelog was reformatted and split into sections in accordance to https://keepachangelog.com/en/1.0.0/
  • Added tools for code formatting
  • Added pylint linter
  • Small refactoring of project’s development tools

0.8.1 (2020-08-17)

Fixed

0.8.0 (2020-08-08)

Added

0.7.1 (2020-06-17)

Fixed

  • Fix mockify.matchers.Object matcher to be inequal to reference object if reference object does not have one or more properties listed in matcher

0.7.0 (2020-06-17)

Fixed

  • An alias to 0.6.5 to fix versioning (new feature was introduced, and wrong version part was increased by mistake)

0.6.5 (2020-05-15)

Added

0.6.4 (2020-02-26)

Added

Changed

Fixed

  • Better reporting of expectation location in assertion messages

Other

  • Improved documentation
  • Documentation is now tested by Sphinx
  • CI workflow updated + added testing against various Python versions (3.x for now)
  • Many other improvements in the code and the tests

0.5.0 (2019-07-27)

Added

  • Added mockify.mock.Namespace mock class

Changed

  • Class mockify.mock.Object can now be used without subclassing and has API similar to other mock classes
  • Module mockify.helpers was merged to library core
  • Module mockify.times was renamed to mockify.cardinality
  • Module mockify.engine is now available via mockify
  • Modules mockify.mock.function and mockify.mock.object are now merged into mockify.mock

Other

  • Dependency management provided by pipenv
  • Project’s CLI provided by Invoke library
  • Use Sphinx Read The Docs theme for documentation

0.4.0 (2019-07-24)

Added

  • Added strategies for dealing with unexpected calls

0.3.1 (2019-01-16)

Added

  • Added frontend for mocking Python objects

0.2.1 (2019-01-05)

Added

  • Added FunctionFactory mocking utility

Changed

  • Changed Registry.assert_satisfied method to allow it to get mock names to check using positional args

Other

  • Updated copyright notice
  • Added description to Alabaster Sphinx theme used for docs
  • Script for running tests added (pytest wrapper)
  • Updated copyright.py script and hardcode year the project was started and author’s name

0.1.12 (2019-01-01)

  • First release published to PyPI