Mocks for subprocess commands
Project description
MockProcess is a mock for the subprocess module to be used in your unit tests. Right now it only supports the check_output method, but eventually popen will be supported as well.
It is used via a context manager. Here’s a basic example
>>> import subprocess >>> import unittest >>> from mockprocess import MockCheckOutput >>> class Test(unittest.TestCase): ... def test_simple(self): ... with MockCheckOutput('hello\n'): ... output = subprocess.check_output(['/bin/echo', 'hello']) ... self.assertEqual(output, 'hello\n') ...
If you need to test how you handle errors, you can set an exit code as well.
>>> import subprocess >>> import unittest >>> from mockprocess import MockCheckoutput >>> class Test(unittest.TestCase): ... def test_exception(self): ... try: ... with MockCheckOutput('hello\n', exit_code=127): ... subprocess.check_output(['/bin/false']) ... except subprocess.CalledProcessError as exp: ... pass ... else: ... self.fail('exception was not raised')
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
mockprocess-0.2.tar.gz
(2.2 kB
view details)
File details
Details for the file mockprocess-0.2.tar.gz
.
File metadata
- Download URL: mockprocess-0.2.tar.gz
- Upload date:
- Size: 2.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 305ac8a0f36713af528368676bd1c015d9f49a8853a73dc531b68ef63726aa40 |
|
MD5 | 15fd0ac9be06e5fefad3574a71b51c3c |
|
BLAKE2b-256 | 61a6f824b0b8f00273a939b65b08b7c419c89c07b77e2247d196d1d14fb59c10 |