input-mocker is simple and easy-to-use tool for mocking of prompt functions.
Project description
Input-Mocker
input-mocker is simple and easy-to-use tool for mocking of prompt functions.
You can mock call to a `sys.stdin.readline in order to programmatically send user input.
Installation
You can install input-mocker from PyPi:
pip install input-mocker
or from GitHub:
pip install https://github.com/ciotto/input-mocker/archive/master.zip
Usage
Using input-mocker is easy:
>>> from input_mocker import InputMocker
>>> with InputMocker():
... raw_input() # Or input() for Python3
... raw_input()
... raw_input()
... raw_input()
...
'y'
'n'
'y'
'n'
By default input-mocker send alternated 'y'/'n' response.
If you want to get random response initialize instance with random=True
paramiter:
>>> from input_mocker import InputMocker
>>> with InputMocker(random=True):
... raw_input()
... raw_input()
... raw_input()
... raw_input()
...
'y'
'y'
'n'
'y'
Is also possible to use a customized set of inputs:
>>> with InputMocker(inputs=['Foo', '42']):
... raw_input('A question: ')
... raw_input('What's the ultimate answer to life, the universe, and everything? ')
...
Question: 'Foo'
What's the ultimate answer to life, the universe, and everything? '42'
Sometimes probably you'll prefer to use the decorator:
>>> import input_mocker
>>> @input_mocker.patch(random=True)
... def my_method():
... print(raw_input('question 1: '))
... print(raw_input('question 2: '))
... print(raw_input('question 3: '))
... print(raw_input('question 4: '))
...
>>> my_method()
question 1: y
question 1: y
question 1: y
question 1: n
input-mocker work with sys.stdin.readline()
, input()
and raw_input()
.
How to contribute
This is not a big library but if you want to contribute is very easy!
- clone the repository
git clone https://github.com/ciotto/input-mocker.git
- install all requirements
make init
- do your fixes or add new awesome features (with tests)
- run the tests
make test
- commit in new branch and make a pull request
License
Released under MIT License.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.