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

ページは半保護されています

テンプレートは、 Wikipediaに使用されるMediaWikiソフトウェアの非常に強力な機能ですが、経験豊富なユーザーであっても間違いを犯しやすいものです。したがって、複雑なテンプレートの編集はサンドボックスで実行し、バグを防ぐためにテスト ケースを伴う必要があります一時サンドボックスX1X52またはテンプレート サンドボックスは、新しい実験を試したり、テンプレート開発を初めて行うユーザーにとって便利な場所です。

まったく新しいテンプレートの開発には、ユーザー サンドボックスが適しています。

サンドボックスとテストケースのサブページの名前付け

ほとんどの保護されたテンプレートには、すでにサンドボックス サブページとテストケース サブページがあります。これらのページの名前はデフォルトです。各テンプレートのページの下部には、テンプレートのサンドボックス ページとテストケース ページを作成/編集するためのリンクがあります。

たとえば、{{ FlagIOCmedalist }}のサブページは次のとおりです。

テンプレート リンク
メインテンプレート テンプレート:FlagIOCメダリスト
テンプレートのサンドボックス テンプレート:FlagIOCメダリスト/サンドボックス
テンプレートのテストケースページ テンプレート:FlagIOCメダリスト/テストケース

サンドボックスを使用する必要があるテンプレートの種類

多くのパラメーターを受け取る出力や、演算子の分岐が多数ある出力など、非常に異なる外観の出力を生成できる ParserFunction を使用して、テスト ケース パターンをテンプレートに適用することを強くお勧めします#switch

各トランスクルージョン ページでほぼ同じ結果が得られるナビゲーション ボックスの場合、サンドボックス ページを作成する時間と労力を上回るメリットはないかもしれませんが、疑わしい場合はサンドボックス化してください。高リスクのテンプレートとしてマークされているテンプレートは、編集を行う前に必ずテストする必要があります。他のページの場合でも、どのページがテンプレートを使用しているかを確認する必要があります (画面左側のリンクバーの [ツール] セクションにある [ここにリンク] リンクを使用します)。

/sandbox および /testcases サブページを作成する方法

  1. テンプレートの名前が であるとしますTemplate:Xという名前のサブページを作成しますTemplate:X/sandboxメイン テンプレートが {{ドキュメント}} テンプレートを使用している場合は、テンプレートのメイン ページの青いドキュメント ボックスの下部にあるリンクからこれを行うことができます。または、検索ボックスに入力するか、ブラウザの URL バーに直接入力することもできます。「/sandbox」はすべて小文字であることに注意してください。
  2. <noinclude>タグや {{ document }} テンプレート (存在する場合) を含むメイン テンプレートのコンテンツ全体をコピーし、/sandbox サブページの編集ウィンドウに貼り付けて、ページを保存します。編集概要は次のようになりますcreate sandbox version of [[Template:X]]
    • 注: 青いドキュメント ボックスの下部にある「ミラー」リンクを使用すると、 のようなタグ<noinclude>とその内容が表示されなくなります。手動でコピーして貼り付けるのが最善です。
  3. という名前で別のサブページを作成しますTemplate:X/testcasesこのページは、実際に存在する場合、青いドキュメント ボックスの下部からのみリンクされます。そのため、このページを作成するには、検索ボックスまたはブラウザの URL バーにページ名を入力して作成する必要があります。繰り返しますが、「/testcases」はすべて小文字であり、すべて 1 つの単語であることに注意してください。
  4. {{ testcases Notice }} テンプレートをページの上部に配置し、いくつかのテスト ケース (以下を参照) を追加して、ページを保存します。
  5. 実験用コードを に追加しますTemplate:X/sandboxコードをテストするには、ページを保存し、/testcases ページに移動します。更新された結果を確認するには、/testcases ページを削除する必要があることがよくあります。これを行うためのリンクが {{ testcases Notice }} テンプレートに含まれています。ページをパージした後、メイン テンプレートの結果とサンドボックスの結果を比較し、問題がなければメイン テンプレートを更新できます。ただし、テスト ケースの欠落や、特定の名前空間または特定のページでのみテストできるコードには注意してください。

既存の /sandbox および /testcases サブページを更新する方法

すでに /sandbox および /testcases サブページがあるテンプレートに変更を加える場合、プロセスは上記と同様です。

  1. /sandbox には最新バージョンのテンプレート コードが含まれていない可能性があるため、変更を加える前にメイン テンプレートと同期する必要があります。メイン テンプレートの内容全体を /sandbox サブページにコピーし、ページを保存します。編集の概要は、「メイン テンプレートと同期する」、または単に「同期」のようなものである必要があります。
  2. サンドボックスの編集を楽しんでください。テストしたいコードがある場合は、ページを保存します。
  3. 新しい機能を追加したり、パラメーターを変更した場合は、テストできるように、新しいテスト ケースを /testcases サブページに追加する必要があります。また、既存のテスト ケースが完全ではない可能性があることにも留意してください。達成しようとしている目的に役に立たない場合は、テスト ケースを書き直すのは問題ありませんが、後でテスト ケースを使用する可能性のある編集者のことも考慮してください。
  4. /testcases ページをパージして結果を更新します。
  5. テスト ケースの結果が正しいことを確認します。すべて問題がなければ、コードをサンドボックスからメイン テンプレートにコピーします。

テストケースの追加

/testcases ページには、テンプレートのさまざまな動作ごとに 1 つのテスト ケースが存在する必要があります。たとえば、テンプレートがバナー メッセージを出力し、パラメーターによって|italic=yesそのメッセージが斜体になる場合は、通常のメッセージ用に 1 つのテスト ケースを追加し、斜体メッセージ用に 1 つのテスト ケースを追加する必要があります。|date=そのテンプレートにユーザーが日付を挿入する別のパラメーターがある場合は、そのための 3 番目のテスト ケースが存在する必要があります。ユーザーがテンプレートを使用する可能性があるすべての方法を徹底的に検討し、事例を作成する必要があります。ただし、単一のパラメーターの組み合わせごとにテスト ケースを追加するのは現実的ではないことが多いため、最も関連性の高いテスト ケースを賢明に選択する必要があります。

使用できるテスト ケースにはさまざまなスタイルがあります。どちらを選択するかは、作業しているテンプレートの性質によって異なります。たとえば、1 行に収まる短いテンプレート出力の場合は、ウィキテーブル内にテスト ケースを配置すると便利です。また、インフォボックスなどの長くて薄いテンプレートの場合は、{{ を使用して並べて表示するのが最適な場合があります。テストケーステーブル}}。

手動フォーマット

手動でフォーマットすると非常に柔軟になりますが、すべてのテンプレート パラメータが正しく入力されるように注意する必要があります。多くの場合、テスト ケースの 1 つのエラーは、テンプレート自体のエラーよりも見つけるのが困難です。

基本フォーマット

この形式は、バナー テンプレートや引用などの長いテキストに適しています。Template:Test caseやその他の同様のテンプレート を使用して、この種のテストを自動的にフォーマットできることに注意してください。

==わかりやすいタイトル==
 
* <コード><nowiki>{{テンプレート| パラメータ1 =値1 | param2 = value2 }}</nowiki></code>
 
'''主要'''
 
{{テンプレート| パラメータ1 =値1 | パラメータ2 =値2 }}
 
「サンドボックス」
 
{{テンプレート/サンドボックス| パラメータ1 =値1 | パラメータ2 =値2 }}

templateparam1value1などの各値は同一である必要があります。

「float」CSS 属性を使用するテンプレートの場合、結果が一緒に束ねられるのを防ぐために、 {{ clear }} テンプレートを使用する必要があります。

==わかりやすいタイトル==
 
* <コード><nowiki>{{テンプレート| パラメータ1 =値1 | param2 = value2 }}</nowiki></code>
 
'''主要'''
 
{{テンプレート| パラメータ1 =値1 | パラメータ2 =値2 }}
 
{{クリア}}
 
「サンドボックス」
 
{{テンプレート/サンドボックス| パラメータ1 =値1 | パラメータ2 =値2 }}
 
{{クリア}}

ウィキ対応可能

ウィキテーブルを使用してテスト ケースをフォーマットすると、正しく並べる必要がある短い出力を含むテンプレートに役立つことがよくあります。

次のようにテーブルを開始します。

{| クラス = "ウィキテーブル"
|-コード主要サンドボックス

<!-- 新しいテスト ケースは次のように追加できます: -->

|-
| <コード><nowiki> {{テンプレート| パラメータ1 =値1 | param2 = value2 }} </nowiki></code> 
| {{テンプレート| パラメータ1 =値1 | パラメータ2 =値2 }}
| {{テンプレート/サンドボックス| パラメータ1 =値1 | パラメータ2 =値2 }}

<!-- テーブルを次のように仕上げます: -->

|}

自動フォーマット

テスト ケースを自動的にフォーマットするのに役立つさまざまなテンプレートがあります。これらのテンプレートでは、パラメーターと値は 1 回だけ入力されますが、メイン テンプレートとサンドボックス テンプレートの両方に対してテストされます。これにより、テスト ケース パラメーターのエラーの問題が回避され、テスト ケース ページの保守が容易になります。これらのテンプレートには次のものが含まれます。

これらのテンプレートはすべて折りたたみ可能なテスト ケースを生成できますが、Template:Collapsible テスト ケースではこの機能がデフォルトでオンになっていることに注意してください。詳細なドキュメントについては、個々のテンプレート ページを参照してください。

/testcases ページでは実行できないテスト

一部のテンプレート機能は /testcases ページではテストできません。たとえば、テンプレートはメインの名前空間にある場合に特定のテキストのみを出力することも、ベース ページで使用される場合とサブページで使用される場合に異なるものを出力する場合もあります。このような種類のテストでは、テンプレート ページの編集ウィンドウの下に表示される「このテンプレートを使用したページのプレビュー」機能を使用できます。この機能をさらに強力にするために、User:Jackmcbarn/advancedtemplatesandbox.jsをインストールすると、どの名前空間でも使用できるようになり、テンプレートのタイトルとプレビューするページを指定できるようになります。これは、サンドボックス テンプレートを編集できますが、実際にメイン テンプレートを編集しているかのようにページをプレビューできることを意味します。

/testcases ページで実行できないテストが思い当たる場合は、他にテストが必要なものを説明するメモを /testcases ページの上部に残しておくと、そのテンプレートの将来の編集者も確認できるようになります。わかっている。

基本フォーマット
テンプレート:Quoteテンプレート:Quote/サンドボックス、およびテンプレート:Quote/testcases
ウィキ対応可能
テンプレート:Diffテンプレート:Diff/サンドボックス、およびテンプレート:Diff/testcases
テストケーステーブル
テンプレート:Infobox 決済テンプレート:Infobox 決済/サンドボックス、およびテンプレート:Infobox 決済/テストケース

こちらも参照