Skip to content

testing

RayBB edited this page Mar 1, 2026 · 2 revisions

Testing Guide

This guide covers running and writing tests for the Open Library project.

Running Tests

Run All Tests

docker compose run --rm home make test

Run Python Tests Only

docker compose run --rm home pytest

Run a specific test file:

docker compose run --rm home pytest openlibrary/plugins/importapi/tests/test_import_validator.py

Run tests matching a pattern:

docker compose run --rm home pytest -k "test_name_pattern"

Run JavaScript Tests

docker compose run --rm home npm run test

Run Type Checks

docker compose run --rm home make mypy

Linting

Open Library uses automated linting to maintain code quality and consistency. The CI server automatically checks all pull requests for linting issues. To save time, you can run these checks locally before pushing your changes.

Quick Reference

Task Command
Run all linters docker compose run --rm home make lint
Lint JavaScript docker compose run --rm home npm run lint
Lint Python docker compose run --rm home make lint
Run pre-commit hooks pre-commit run --all-files
Bypass pre-commit git commit --no-verify

For details on setting up and troubleshooting pre-commit, see the Pre-Commit Guide.

Clone this wiki locally