Skip to the content.

テスト説明

この文書では、EnvGeo-Seawater の現在の pytest 群が何を確認しているか、また今後どこを拡充すべきかを説明します。

English version

テストの実行方法

プロジェクトのルートディレクトリで、全体のテストを実行します。

pytest

開発中の簡易確認では、共通ユーティリティとリポジトリ健全性テストを先に実行します。

pytest -q test/test_envgeo_utils.py test/test_repository_health.py

継続的インテグレーション

.github/workflows/ci.ymlは、push、pull request、手動起動時にLinux/Python 3.10と3.12で動作する。 requirements-dev.txtを導入してpytestを実行し、wheelを作成した後、checkout外の別venvへそのwheelを 導入する。開発/公開前repositoryのsource cloneには、事前検証用のPage 90・91を含む12ページを残す。 一方、最後のwheel検査では、インストール先、packageに収録するサポート対象の10ページ、診断ツール、 Page 90・91・99とGEBCO生成scriptの非収録を確認する。

CIの環境構築時にはパッケージindexから宣言済み依存関係を取得する。一方、テストとアプリ確認そのものは 外部タイル、外部download、実ネットワークサービスを必要としないことを原則とする。ブラウザ上の視覚確認と オンライン地図の挙動は、引き続き手動QAで確認する。

テストファイル

test/test_basic.py

基本的な import とバージョン確認です。

このファイルでは、主に次を確認しています。

test/test_envgeo_utils.py

envgeo_utils.py に集約した共通関数のテストです。

現在は、主に次を確認しています。

test/test_data_integrity.py

公開データセットの整合性と広めの健全性チェックです。

現在は、主に次を確認しています。

test/test_repository_health.py

リポジトリ構成、公開ページ、共通ワークフローを守るためのテストです。

現在は、主に次を確認しています。

test/test_public_surface.py

公開向けの表面と、アクティブなソースツリーを確認するテストです。

現在は、主に次を確認しています。

現在のテスト範囲

現在の pytest 群は、主に次を対象にしています。

これらのテストは、リファクタリングや公開準備中のよくある破損を検出することを目的としています。

現在の限界

現在のテストでは、まだ次を十分に自動化できていません。

そのため、現時点では自動テストに加えて、手動の画面確認と視覚確認も重要です。手動確認項目は docs/release_checklist.md にまとめています。

今後拡充したいテスト

優先的に拡充したい項目は次の通りです。