No project description provided
Project description
Mutmut
Mutmut is a mutation testing library/tool. It aims to be usable as a program directly, but also to have an easy to use API.
Install
pip install mutmut
Usage
mutmut
This will by default run pytest on tests in the “tests” folder and it will try to figure out where the code to mutate lies. Run
mutmut --help
for the available flags, to use other runners, etc. The recommended way to use mutmut if the defaults aren’t working for you is to add a block in setup.cfg. Then when you come back to mutmut weeks later you don’t have to figure out the flags again, just run mutmut and it works. Like this:
[mutmut]
paths_to_mutate=src/
backup=False
runner=python -m pytest
tests_dir=tests/
dict_synonyms=Struct, NamedStruct
The output of the mutation tests (if you have surviving mutants) looks like:
FAILED: mutmut path/filename.py --apply --mutation " if foo > bar:⤑0"
I’ve made is to you can just copy paste everything after “FAILED:” and run it directly and you’ll get the mutant on disk. You should REALLY have the file you mutate under source code control and committed before you mutate it!
Whitelisting
You can mark lines like this:
some_code_here() # pragma: no mutate
to stop mutation on those lines. Some cases we’ve found where you need to whitelist lines are:
The version string on your library. You really shouldn’t have a test for this :P
Optimizing break instead of continue. The code runs fine when mutating break to continue, but it’s slower.
Example mutations
Integer literals are changed by adding 1. So 0 becomes 1, 5 becomes 6, etc.
< is changed to <=
break is changed to continue and vice versa
In general the idea is that the mutations should be as subtle as possible. See __init__.py for the full list.
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 mutmut-0.0.19.tar.gz
.
File metadata
- Download URL: mutmut-0.0.19.tar.gz
- Upload date:
- Size: 13.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4df06e4a307edffb6237a5481ee61bd1fec92789a03b872aa29f2da2ca46684f |
|
MD5 | f315540a97f6adbecb9511e171e95ff4 |
|
BLAKE2b-256 | a69391dc1965435e94230490841bc5fcf02faeb79cb348fb838ac05ac2f17ddc |