コンテンツにスキップ

Wikipedia:テンプレートのサンドボックスとテストケース



この方法が向いているテンプレート[編集]

テンプレートは多くのページに呼び出されるものであり、テンプレートの編集で失敗をするとその影響が大きくなります。そのため、大きな変更をする前にサンドボックスでテストをするのがよいでしょう。膨大な数のページに呼び出されているテンプレートは、編集する前に必ずテストしてください。

特に条件文を使ったテンプレートは、多くの引数をとったり、#switch演算子の多くの分岐によって、非常に多彩な出力を生成することができます。このようなテンプレートは、プレビューやサンドボックスだけでは問題がないか確かめることが困難であり、テストケースでいろいろなパターンの出力を試すことが勧められます。さらに、このようなテストケースは表示例の一覧としても役に立ちます。

逆に、関連項目へのリンク一覧であるナビゲーションテンプレートのように、パラメータを受け取らず、どの呼び出し先でも同じ表示がされるものはテストケースを利用する利点が少ないといえるでしょう。

また、テンプレートが呼び出されたページの構成によっては表示に問題が起こることがあります。それを防ぐために、サンドボックスに作成したテンプレートを様々な環境で閲覧して確かめたり、テストケースで他のテンプレートや表、画像などと一緒に表示した結果をテストすることもできます。

サンドボックスとテストケースのサブページの作り方[編集]

サブページを作る[編集]


Template:XTemplate:X/sandboxTemplate:X/testcases

{{Documentation}}使{{Documentation}}{{Documentation}}使使

[]


GFDL

(一)Template:X/sandboxTemplate:X <noinclude> [[Template:X]]xxxxxxxx xx:xx (UTC) 稿

(二)<noinclude></noinclude></noinclude>
<noinclude>{{Template sandbox notice}}</noinclude><!-- ここに複製したコード -->
稿[1]

1.2.2稿Wikipedia:#

[]


Template:X/testcases ({{X | .... }}) XX/sandbox{{Template test cases notice}}

Template:X/testcases
{{Template test cases notice}}

{{X | .... }}
{{X/sandbox | .... }}

{{Test case}} 

サンドボックスとテストケースの使い方[編集]

まず、サンドボックスを編集して新しいテンプレートにします。ノートページやローカルのエディタなどで新しいテンプレートを用意してある場合や、既存のテンプレートと全く違うものを作る場合でなければ、サンドボックスを作るときと同じように現在のテンプレートを複製してから、それを編集しましょう。

次にテストケースを表示し、新しいテンプレートが問題なく呼び出されるか確認します。新しい出力と元の出力を比較するには、テストケースに一度に表示されるのを比べる方法だけでなく、タブ・ブラウザを使って、サンドボックスを変更する前にテストケースのサブページを表示し、サンドボックスの変更後にもう一つのタブで表示することで、変更前後のテストケースを比べる方法もあります。

サンドボックスのテンプレートが全てのテストケースで問題ないようでしたら、本物のテンプレートをサンドボックスのものに書き換えます。この際にも履歴継承の必要性などGFDLの諸条件を満たす必要があります。#サンドボックスにコードを複製する際と同様の手順で作業してください。

サンドボックス対応のコードの書き方[編集]


{{Template sandbox notice}}{{Template sandbox notice}}



{{Template sandbox notice}}sandboxsandbox:
<noinclude>
{{ Template sandbox notice }}
</noinclude><!-- テンプレートの本体コード -->

(1)(2)(3)使使[2][3]
<noinclude>
{{
  #ifeq: {{SUBPAGENAME}} | sandbox
  | <!-- サンドボックスで出す告知 -->{{Template sandbox notice}}
  | <!-- サンドボックス以外で出す告知:{{保護}}、{{複雑なテンプレート}}など -->
}}
</noinclude><!-- テンプレートの本体コード -->

使{{Template sandbox notice}}使
<noinclude>
{{
  Template sandbox notice
  | notice-for-sandbox = <!-- サンドボックスで出す告知 -->
  | notice-not-sandbox = <!-- サンドボックス以外で出す告知:{{保護}}、{{複雑なテンプレート}}など -->
}}
</noinclude><!-- テンプレートの本体コード -->

Category:Template:X/doc<includeonly></includeonly>[3]
<noinclude>
{{
  #ifeq: {{SUBPAGENAME}} | sandbox
  | 
  | {{Documentation}}
}}
</noinclude>

{{Documentation}}[4]使
<includeonly>
{{
  #ifeq: {{SUBPAGENAME}} | sandbox
  | 
  |
<!-- ここに、テンプレート本体に適用する言語間リンクやカテゴリを書く。-->
}}
</includeonly>

テストケース対応のコードの書き方[編集]


Category:使

:
<includeonly>{{
  #ifeq: {{NAMESPACE}} | {{ns:0}}
  | <!-- テンプレートを貼り付けたページに適用するカテゴリをここに書く -->
}}</includeonly>

使使使{{ns:0}}

使使:
<includeonly>{{
  #ifeq: {{SUBPAGENAME}} | testcase
  |
  | <!-- テンプレートを貼り付けたページに適用するカテゴリをここに書く -->
}}</includeonly>
<includeonly>{{
  #ifeq: {{FULLPAGENAME}} | {{ns:10}}:X/testcase
  |
  | <!-- テンプレートを貼り付けたページに適用するカテゴリをここに書く -->
}}</includeonly>

使

実例[編集]

脚注[編集]



(一)^ </noinclude>

(二)^ Template:X/doc<includeonly></includeonly>便

(三)^ ab<includeonly></includeonly>

(四)^ Help:#

関連項目[編集]