{"title":"GeoDjango アプリのテスト","version":"6.0","locale":"ja","docname":"ref/contrib/gis/testing","url":"/ja/6.0/ref/contrib/gis/testing/","canonical":"https://djangodocs.dev/ja/6.0/ref/contrib/gis/testing/","summary":"このドキュメントには、 PostGIS ユーザのための追加の注意事項と設定が含まれています。 PostGIS Link to this heading # 設定 Link to this heading # 注釈 以下の設定には合理的なデフォルト値が設定されており、手動で設定する必要はありません。…","html":"<h1>GeoDjango アプリのテスト<a class=\"heading-anchor\" href=\"#testing-geodjango-apps\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<p>このドキュメントには、<a class=\"reference internal\" href=\"#testing-postgis\"><span class=\"std std-ref\">PostGIS</span></a> ユーザのための追加の注意事項と設定が含まれています。</p>\n<section id=\"postgis\">\n<span id=\"testing-postgis\"></span><h2>PostGIS<a class=\"heading-anchor\" href=\"#postgis\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<section id=\"settings\">\n<h3>設定<a class=\"heading-anchor\" href=\"#settings\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">注釈</p>\n<p>以下の設定には合理的なデフォルト値が設定されており、手動で設定する必要はありません。</p>\n</aside>\n<section id=\"postgis-version\">\n<span id=\"std-setting-POSTGIS_VERSION\"></span><h4><code class=\"docutils literal notranslate\"><span class=\"pre\">POSTGIS_VERSION</span></code><a class=\"heading-anchor\" href=\"#postgis-version\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>GeoDjango の空間バックエンドが PostGIS 上で初期化されるとき、どの機能が利用可能かを調べるために、SQL クエリを実行してバージョンを調べる必要があります。この追加クエリを防ぎたい上級ユーザは、PostGIS のメジャー、マイナー、マイクロのバージョン番号を指定する整数の 3タプルを使って、バージョンを手動で設定できます。例えば、PostGIS X.Y.Z を設定するには次のようにします:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"n\">POSTGIS_VERSION</span> <span class=\"o\">=</span> <span class=\"p\">(</span><span class=\"n\">X</span><span class=\"p\">,</span> <span class=\"n\">Y</span><span class=\"p\">,</span> <span class=\"n\">Z</span><span class=\"p\">)</span>\n</code></pre></div>\n</section>\n</section>\n<section id=\"obtaining-sufficient-privileges\">\n<h3>適切な権限の取得<a class=\"heading-anchor\" href=\"#obtaining-sufficient-privileges\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>設定によりますが、このセクションで、PostgreSQL 上の GeoDjango アプリケーションのテストを実行するために必要な権限を持ったデータベースユーザを構成するための複数の方法が説明されています。もし、指示通りに <a class=\"reference internal\" href=\"/ja/6.0/ref/contrib/gis/install/postgis/#spatialdb-template\"><span class=\"std std-ref\">空間データベーステンプレート</span></a> が作成されている場合、テスト用のデータベースユーザはデータベースを作成する機能のみを持っていれば十分です。他の設定では、データベーススーパーユーザを使用する必要があるかもしれません。</p>\n<section id=\"create-database-user\">\n<h4>データベースユーザーを作成する<a class=\"heading-anchor\" href=\"#create-database-user\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>データベースを作成する権限を持つデータベースユーザーを作成するには、次のコマンドを使用します:</p>\n<div class=\"code-block\" data-language=\"shell\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code>$<span class=\"w\"> </span>createuser<span class=\"w\"> </span>--createdb<span class=\"w\"> </span>-R<span class=\"w\"> </span>-S<span class=\"w\"> </span>&lt;user_name&gt;\n</code></pre></div>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">-R</span> <span class=\"pre\">-S</span></code> フラグは、ユーザーに追加のユーザー (ロール) を作成させたり、スーパーユーザーになる権限を持たせたくないことを示しています。</p>\n<p>代わりに、既存のユーザーのロールをSQLシェルから変更することもできます (既存のスーパーユーザーアカウントから実行されているとして):</p>\n<div class=\"code-block\" data-language=\"psql\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">SQL</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"SQL code\"><code><span class=\"n\">postgres</span><span class=\"o\">#</span><span class=\"w\"> </span><span class=\"k\">ALTER</span><span class=\"w\"> </span><span class=\"k\">ROLE</span><span class=\"w\"> </span><span class=\"o\">&lt;</span><span class=\"n\">user_name</span><span class=\"o\">&gt;</span><span class=\"w\"> </span><span class=\"n\">CREATEDB</span><span class=\"w\"> </span><span class=\"n\">NOSUPERUSER</span><span class=\"w\"> </span><span class=\"n\">NOCREATEROLE</span><span class=\"p\">;</span>\n</code></pre></div>\n</section>\n<section id=\"create-database-superuser\">\n<h4>データベースのスーパーユーザーを作成する<a class=\"heading-anchor\" href=\"#create-database-superuser\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>これは、たとえばユーザー作成時に行うことができます:</p>\n<div class=\"code-block\" data-language=\"shell\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code>$<span class=\"w\"> </span>createuser<span class=\"w\"> </span>--superuser<span class=\"w\"> </span>&lt;user_name&gt;\n</code></pre></div>\n<p>あるいは、SQLシェルからユーザのロールを変更することもできます (既存のスーパーユーザアカウントから行われると仮定して):</p>\n<div class=\"code-block\" data-language=\"psql\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">SQL</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"SQL code\"><code><span class=\"n\">postgres</span><span class=\"o\">#</span><span class=\"w\"> </span><span class=\"k\">ALTER</span><span class=\"w\"> </span><span class=\"k\">ROLE</span><span class=\"w\"> </span><span class=\"o\">&lt;</span><span class=\"n\">user_name</span><span class=\"o\">&gt;</span><span class=\"w\"> </span><span class=\"n\">SUPERUSER</span><span class=\"p\">;</span>\n</code></pre></div>\n</section>\n</section>\n<section id=\"windows\">\n<h3>Windows<a class=\"heading-anchor\" href=\"#windows\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Windows プラットフォームでは、pgAdmin III ユーティリティを使用して、データベースユーザーにスーパーユーザー権限を追加できます。</p>\n<p>デフォルトでは、Windows 上の PostGIS インストーラには <code class=\"docutils literal notranslate\"><span class=\"pre\">template_postgis</span></code> というタイトルのテンプレート空間データベースが含まれています。</p>\n</section>\n</section>\n<section id=\"geodjango-tests\">\n<span id=\"id1\"></span><h2>GeoDjangoのテスト<a class=\"heading-anchor\" href=\"#geodjango-tests\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">runtests.py</span></code> を使用して <a class=\"reference internal\" href=\"/ja/6.0/internals/contributing/writing-code/unit-tests/#running-unit-tests\"><span class=\"std std-ref\">Djangoテストスイートを実行する</span></a> 際に GeoDjango テストを実行するには、設定ファイル内のすべてのデータベースが <a class=\"reference internal\" href=\"/ja/6.0/ref/contrib/gis/db-api/#spatial-backends\"><span class=\"std std-ref\">空間データベースバックエンド</span></a> のいずれかを使用している必要があります。</p>\n<section id=\"example\">\n<h3>カスタマイズ例<a class=\"heading-anchor\" href=\"#example\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>次の内容は、Django テストスイート全体を実行するために使用できる、空っぽの設定ファイルの例です。この設定ファイルには、 <a class=\"reference internal\" href=\"/ja/6.0/ref/contrib/gis/#module-django.contrib.gis\" title=\"django.contrib.gis: Geographic Information System (GIS) extensions for Django\"><code class=\"xref py py-mod docutils literal notranslate\"><span class=\"pre\">django.contrib.gis</span></code></a> に含まれるテストも含まれています:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"n\">DATABASES</span> <span class=\"o\">=</span> <span class=\"p\">{</span>\n    <span class=\"s2\">&quot;default&quot;</span><span class=\"p\">:</span> <span class=\"p\">{</span>\n        <span class=\"s2\">&quot;ENGINE&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;django.contrib.gis.db.backends.postgis&quot;</span><span class=\"p\">,</span>\n        <span class=\"s2\">&quot;NAME&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;geodjango&quot;</span><span class=\"p\">,</span>\n        <span class=\"s2\">&quot;USER&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;geodjango&quot;</span><span class=\"p\">,</span>\n    <span class=\"p\">},</span>\n    <span class=\"s2\">&quot;other&quot;</span><span class=\"p\">:</span> <span class=\"p\">{</span>\n        <span class=\"s2\">&quot;ENGINE&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;django.contrib.gis.db.backends.postgis&quot;</span><span class=\"p\">,</span>\n        <span class=\"s2\">&quot;NAME&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;other&quot;</span><span class=\"p\">,</span>\n        <span class=\"s2\">&quot;USER&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;geodjango&quot;</span><span class=\"p\">,</span>\n    <span class=\"p\">},</span>\n<span class=\"p\">}</span>\n\n<span class=\"n\">SECRET_KEY</span> <span class=\"o\">=</span> <span class=\"s2\">&quot;django_tests_secret_key&quot;</span>\n</code></pre></div>\n<p>上記の設定が <code class=\"docutils literal notranslate\"><span class=\"pre\">runtests.py</span></code> と同じディレクトリにある <code class=\"docutils literal notranslate\"><span class=\"pre\">postgis.py</span></code> ファイルにあるとすると、コマンドを実行するときに、すべての Django と GeoDjango のテストが実行されます:</p>\n<div class=\"code-block\" data-language=\"shell\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code>$<span class=\"w\"> </span>./runtests.py<span class=\"w\"> </span>--settings<span class=\"o\">=</span>postgis\n</code></pre></div>\n<p>GeoDjango のテストスイートだけを実行するには、<code class=\"docutils literal notranslate\"><span class=\"pre\">gis_tests</span></code> を指定します:</p>\n<div class=\"code-block\" data-language=\"shell\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code>$<span class=\"w\"> </span>./runtests.py<span class=\"w\"> </span>--settings<span class=\"o\">=</span>postgis<span class=\"w\"> </span>gis_tests\n</code></pre></div>\n</section>\n</section>","rootId":"testing-geodjango-apps","toc":[{"title":"PostGIS","anchor":"postgis","children":[{"title":"設定","anchor":"settings","children":[{"title":"POSTGIS_VERSION","anchor":"postgis-version","children":[]}]},{"title":"適切な権限の取得","anchor":"obtaining-sufficient-privileges","children":[{"title":"データベースユーザーを作成する","anchor":"create-database-user","children":[]},{"title":"データベースのスーパーユーザーを作成する","anchor":"create-database-superuser","children":[]}]},{"title":"Windows","anchor":"windows","children":[]}]},{"title":"GeoDjangoのテスト","anchor":"geodjango-tests","children":[{"title":"カスタマイズ例","anchor":"example","children":[]}]}],"breadcrumbs":[{"docname":"ref/index","title":"API リファレンス","url":"/ja/6.0/ref/"},{"docname":"ref/contrib/index","title":"contrib パッケージ","url":"/ja/6.0/ref/contrib/"},{"docname":"ref/contrib/gis/index","title":"GeoDjango","url":"/ja/6.0/ref/contrib/gis/"}],"prev":{"docname":"ref/contrib/gis/sitemaps","title":"地理情報サイトマップ","url":"/ja/6.0/ref/contrib/gis/sitemaps/"},"next":{"docname":"ref/contrib/gis/deployment","title":"GeoDjango のデプロイ","url":"/ja/6.0/ref/contrib/gis/deployment/"},"formats":{"html":"/ja/6.0/ref/contrib/gis/testing/","markdown":"/ja/6.0/ref/contrib/gis/testing.md","json":"/ja/6.0/ref/contrib/gis/testing.json"},"source":"https://github.com/django/django/blob/stable/6.0.x/docs/ref/contrib/gis/testing.txt","official":"https://docs.djangoproject.com/ja/6.0/ref/contrib/gis/testing/","inVersions":["6.1","6.0","5.2","5.1","5.0","4.2","4.1","4.0","3.2","3.1","3.0","2.2","2.1","2.0","1.11","1.10","1.9"],"inLocales":["en","sv","zh-hans","ga","fr","ja","id","it","pt-br","ko","es","el","pl"]}