Mock/Stub/Spy library for Python inspired by Ruby's FlexMock
Project description
FlexMock provides a mock/stub/spy library for Python.
It is inspired by Ruby’s FlexMock, however full feature parity with the Ruby version is not a goal. Python FlexMock omits a number of things in the Ruby version, mainly various shortcuts for existing functionality, and implements a number of things that Ruby’s FlexMock doesn’t support, such as proxying/spying, returning different arguments on successive method calls, and matching arguments using their classes in addition to values.
What makes FlexMock unique in the Python testing world is its automatic integration with the test runner, allowing for really terse syntax and avoiding both the action->assertion and record->replay paradigms supported by all the other Python mocking libraries currently available. To be sure, you can still write your assertions in the action->assertion mode using FlexMock, but its powerful syntax allows you to define both the expectation and the assertion at the same time.
SUPPORTS:
test runner integration, i.e. automatic expectation checking on tearDown
advanced argument matching, including matching types and user-defined classes
expectations on number of times called, including at_least/at_most
mocks returning custom values, including different values on successive invokations
mocks raising custom exceptions
simple syntax for generating new mock objects
overriding new instances (on new-style objects)
parameter shortcuts for even terser syntax
proxying/spying using the and_execute expectation modifier
mocking a generator using and_yield
enforcing expectations ordering
Documentation:
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file flexmock-0.6.4.tar.gz
.
File metadata
- Download URL: flexmock-0.6.4.tar.gz
- Upload date:
- Size: 5.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | db73cdf73dfc631f842483cbb87bfb4a776d10c4977d96e055a8b7cf5ce33c3e |
|
MD5 | bd62c1c9dee03b10ef2388a233e5fe3a |
|
BLAKE2b-256 | 71c602c0ba62413dfcf4738a0823eb95b71032bee918f086f8e779a48588767c |