morodomi avatar

flask-quality

Flask品質チェック。pytest-flask/mypy/Black実行時に使用。「Flaskの品質チェック」「Flask テスト」で起動。

作者 morodomi|オープンソース

Flask Quality Check

Flask プロジェクトの品質チェックツール。

Commands

ツールコマンド用途
pytestpytestテスト実行(pytest-flask)
mypymypy --strict型チェック
Blackblack .コードフォーマット
isortisort .import整理

Flask-specific Testing

Fixtures (pytest-flask)

Fixture用途
clienttest_client インスタンス
appFlask アプリケーション
app_contextアプリケーションコンテキスト

App Factory Pattern

# conftest.py
import pytest
from myapp import create_app

@pytest.fixture
def app():
    app = create_app()
    app.config.update({"TESTING": True})
    yield app

@pytest.fixture
def client(app):
    return app.test_client()

Usage

テスト実行

# 基本
pytest

# verbose
pytest -v

# 特定ファイル
pytest tests/test_routes.py

# カバレッジ
pytest --cov=src --cov-report=html

API テスト例

def test_get_users(client):
    response = client.get('/api/users')
    assert response.status_code == 200
    assert response.json is not None

def test_create_user(client):
    response = client.post('/api/users', json={
        'name': 'Test User',
        'email': 'test@example.com'
    })
    assert response.status_code == 201

静的解析

# 型チェック
mypy --strict src/

# フォーマット
black .
isort .

Quality Standards

項目目標
mypystrict mode
カバレッジ90%+
black/isortエラー0

Reference

  • 詳細: reference.md