Add new assertion methods for checking spies.

Review Request #10988 — Created April 4, 2020 and submitted — Latest diff uploaded

Information

kgb
master

Reviewers

kgb

KGB is hitting 5.0, and for the first time, it's getting its own
assertion methods.

These are designed to replace the usage of assertTrue, assertEqual,
etc. with checks on a spy or call. They perform the necessary checks and
then provide detailed information if the assertion goes wrong.

The following assertion methods are implemented:

  • assertHasSpy
  • assertSpyCalled
  • assertSpyNotCalled
  • assertSpyCallCount
  • assertSpyCalledWith
  • assertSpyLastCalledWith
  • assertSpyReturned
  • assertSpyLastReturned
  • assertSpyRaised
  • assertSpyLastRaised
  • assertSpyRaisedMessage
  • assertSpyLastRaisedMessage

New code should use these assertion methods for best results.

The README has been updated to show both the new-style and old-style
assertions.

Unit tests pass on all supported versions of Python.

Tested several of these through an update to an existing codebase.

Diff Revision 2 (Latest)

orig
1
2

Commits

First Last Summary ID Author
Add new assertion methods for checking spies.
KGB is hitting 5.0, and for the first time, it's getting its own assertion methods. These are designed to replace the usage of `assertTrue`, `assertEqual`, etc. with checks on a spy or call. They perform the necessary checks and then provide detailed information if the assertion goes wrong. The following assertion methods are implemented: * `assertHasSpy` * `assertSpyCalled` * `assertSpyNotCalled` * `assertSpyCallCount` * `assertSpyCalledWith` * `assertSpyLastCalledWith` * `assertSpyReturned` * `assertSpyLastReturned` * `assertSpyRaised` * `assertSpyLastRaised` * `assertSpyRaisedMessage` * `assertSpyLastRaisedMessage` New code should use these assertion methods for best results. The README has been updated to show both the new-style and old-style assertions.
8ed670568b3f0a6317636dbad24a0e6b10a69af9 Christian Hammond
README.rst
kgb/agency.py
kgb/tests/test_spy_agency.py
Loading...