mirror of
https://github.com/Brandon-Rozek/website.git
synced 2024-11-22 16:26:28 -05:00
33 lines
942 B
Markdown
33 lines
942 B
Markdown
|
---
|
||
|
title: "Tox"
|
||
|
date: 2020-02-21T22:34:19-05:00
|
||
|
draft: false
|
||
|
tags: [ "python", "testing" ]
|
||
|
---
|
||
|
|
||
|
[Tox](https://tox.readthedocs.io/en/latest/) is a great project where you can automate your testing using virtual environments.
|
||
|
|
||
|
First install tox
|
||
|
```bash
|
||
|
pip install tox
|
||
|
```
|
||
|
|
||
|
I like to write my tests in Python's native [`unittest`](https://docs.python.org/3/library/unittest.html) format. Tests should be stored in a `tests` directory.
|
||
|
|
||
|
I then combine it with the `coverage` library to tell me how much of my code that my test cases cover. To quickly insert my personal opinion, I never aim for 100% test coverage since there's typically overhead in maintaining that.
|
||
|
|
||
|
This all gets described in a `tox.ini` file. This file should live in the same directory as your `setup.py`
|
||
|
|
||
|
```ini
|
||
|
[tox]
|
||
|
envlist =
|
||
|
py38
|
||
|
|
||
|
[testenv]
|
||
|
deps = coverage
|
||
|
commands =
|
||
|
coverage run --source=tests,library -m unittest discover tests
|
||
|
coverage report -m
|
||
|
```
|
||
|
|