Skip to content

Commit

Permalink
Minor updates to README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
freol35241 committed May 22, 2020
1 parent dcc8f95 commit 6cc7b7a
Showing 1 changed file with 6 additions and 6 deletions.
12 changes: 6 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,12 @@ A simple [`pytest`](https://docs.pytest.org/en/latest/) plugin for writing **pin
Pinning tests or snapshot tests or [characterization tests](https://en.wikipedia.org/wiki/Characterization_test) are meant to describe (characterize) the actual behavior of an existing piece of software, and therefore protect existing behavior against unintended changes via automated testing.

This type of testing can come in handy for several reasons:
* Legacy codebase with poor or non-existing test coverage
* As broad integration tests where more specific testing may prove difficult
* Legacy codebase with poor or non-existing test coverage.
* As broad integration tests where more specific testing may prove difficult.
* Scientific computing where implementation of, usually quite complex, scientific models are hard to test for specific behaviours, especially when they are used for research purposes.
* As extra confidence boosters during refactoring.

In my case, the main usecase is legacy and non-legacy codebases aimed for scientific computing. The implementation of, usually quite complex, scientific models are hard to test for specific behaviours, especially when they are used for research purposes. Pinning tests allow for more confident refactoring of the implementation of such models while tracing how results and predicitons changes.

`pytest-pinned` keeps all expected results from pinning tests in a single `JSON` file resulting in only a single file needing to be added to the [VCS](https://en.wikipedia.org/wiki/Version_control) repository and diffs are also contained to this single file. The use of `JSON` for serialization of the expected results however imposes some restrictions on the datatypes that can be used, see the [JSON type conversion table](https://docs.python.org/3/library/json.html#py-to-json-table) from the standard library.
`pytest-pinned` keeps all expected results from pinning tests in a single, pretty-printed `JSON` file resulting in only a single file needing to be added to the [VCS](https://en.wikipedia.org/wiki/Version_control) repository and diffs are also contained to this single file. The use of `JSON` for serialization of the expected results however imposes some restrictions on the datatypes that can be used, see the [JSON type conversion table](https://docs.python.org/3/library/json.html#py-to-json-table) from the standard library.


### Requirements
Expand All @@ -29,7 +29,7 @@ You can install `pytest-pinned` via `pip` from `PyPI`:

### Usage

`pytest-pinned` expose a single pytest fixture (`pinned`). `pinned` will keep track of what test it is used in, supports usage with the standard `assert` statement and allows for multiple asserts in the same test.
`pytest-pinned` expose a single pytest fixture (`pinned`) with a very simple syntax. `pinned` will keep track of what test it is used in, supports usage with the standard `assert` statement and allows for multiple asserts in the same test.

#### Syntax

Expand Down

0 comments on commit 6cc7b7a

Please sign in to comment.