This is a demo project to show how to use pytest with a flask project.
Table of Contents
- Python 3.11
- Dev dependencies
- make
- editorconfig
- wsl [Windows-only]
# standalone server
./app/server.py start
# taskfile
task serve -- start
# all tests
pytest
# fuzzy search (can match multiple tests/files)
pytest -k app
# specific file
pytest tests/unit/test_app.py
# specific test
pytest tests/unit/test_app.py::test_index
# standalone server
./app/server.py stop
# taskfile
task serve -- stop
# install all repo dependcies
make install
# install specific repo dependencies
make <xcode|asdf|brew|devbox|pre-commit|task>
λ task
task: [default] task --list
task: Available tasks for this project:
* default: Default task
* format: Run formatters
* install: Install project dependencies
* lint: Run linters
* pre-commit: Run pre-commit hooks
* pyclean: Remove .pyc and __pycache__
* serve: Run the server
* test: Run tests
* docker:build: Build the docker image (aliases: docker:build)
* docker:down: Stop and remove containers, networks, and volumes with docker compose (aliases: docker:down)
* docker:exec: Shell into a running container (aliases: docker:exec)
* docker:login: Login to the container registry (aliases: docker:login)
* docker:logs: Follow the logs of a running container (aliases: docker:logs)
* docker:net: Create docker network (aliases: docker:net)
* docker:prune: Prune docker (aliases: docker:prune)
* docker:push: Push the docker image to the registry (aliases: docker:push)
* docker:stop: Stop the project with docker compose (aliases: docker:stop)
* docker:up: Start the project with docker compose (aliases: docker:up)
* docker:vol: Create docker volume (aliases: docker:vol)
* playwright:codegen: Generate playwright code (aliases: pw:codegen)
* playwright:install: Install playwright drivers (aliases: pw:install)
* poetry:add-pypi: Add test-pypi repository (aliases: poetry:add-pypi)
* poetry:build: Build the poetry bin (aliases: poetry:build)
* poetry:bump-semver: Bump the project semantic version (aliases: poetry:bump-semver)
* poetry:export-reqs: Export requirements.txt (aliases: poetry:export-reqs)
* poetry:install: Install project dependencies (aliases: poetry:install)
* poetry:publish: Publish the poetry bin (aliases: poetry:publish)
* poetry:update-deps: Update dependencies (aliases: poetry:update-deps) (aliases: poetry:update-deps) (aliases: poetry:update-deps)
- Open Issues
- Write boilerplate pytest tests