Use pytest for running tests

This commit is contained in:
Swen Kooij 2019-10-19 12:48:32 +03:00
parent 7cdd1f4490
commit 2cb80431cc
6 changed files with 31 additions and 5 deletions

View File

@ -13,15 +13,20 @@ jobs:
- run:
name: Install packages
command: apk add postgresql-libs gcc musl-dev postgresql-dev git
- run:
name: Install Python packages
command: pip install -r requirements/test.txt
- run:
name: Run tests
command: tox -e 'py37-dj{20,21,22}'
environment:
DATABASE_URL: 'postgres://localizedfields:localizedfields@localhost:5432/localizedfields'
- store_test_results:
path: reports
lint:
docker:
- image: python:3.7-alpine
@ -30,12 +35,14 @@ jobs:
- run:
name: Install packages
command: apk add postgresql-libs gcc musl-dev postgresql-dev git
- run:
name: Install Python packages
command: pip install -r requirements/test.txt
- run:
name: Lint code
command: python setup.py lint
name: Verify formatting / linting
command: python setup.py verify
workflows:

3
.gitignore vendored
View File

@ -1,6 +1,7 @@
# Ignore virtual environments
env/
.env/
venv/
# Ignore Python byte code cache
*.pyc
@ -9,7 +10,7 @@ __pycache__
# Ignore coverage reports
.coverage
htmlcov
reports/
# Ignore build results
*.egg-info/

4
pytest.ini Normal file
View File

@ -0,0 +1,4 @@
[pytest]
DJANGO_SETTINGS_MODULE=settings
testpaths=tests
addopts=-m "not benchmark"

View File

@ -16,7 +16,7 @@ pytest==5.2.1
pytest-django==3.6.0
pytest-cov==2.8.1
# Test support
django-autoslug==1.9.3
django-bleach==0.3.0
psycopg2==2.7.3.2
coverage==4.4.2

View File

@ -138,5 +138,19 @@ setup(
]
],
),
"test": create_command(
"Runs all the tests",
[
[
"pytest",
"--cov=localized_fields",
"--cov-report=term",
"--cov-report=xml:reports/xml",
"--cov-report=html:reports/html",
"--junitxml=reports/junit/tests.xml",
"--reuse-db",
]
],
),
},
)

View File

@ -10,4 +10,4 @@ deps =
setenv =
DJANGO_SETTINGS_MODULE=settings
passenv = DATABASE_URL
commands = coverage run manage.py test
commands = python setup.py test