위키백과:템플릿 샌드박스 및 테스트 사례
Wikipedia![]() |
템플릿은 Wikipedia에 사용되는 MediaWiki 소프트웨어의 매우 강력한 기능이지만, 경험이 많은 사용자도 쉽게 실수를 할 수 있습니다.따라서 복잡한 템플릿에 대한 편집은 샌드박스에서 수행되어야 하며 버그를 방지하기 위해 테스트 사례와 함께 수행되어야 합니다.임시 샌드박스 X1-X52 또는 템플릿 샌드박스는 새로운 실험을 시도하거나 템플릿 개발을 처음 하는 사용자에게 유용한 장소가 될 수 있습니다.
완전히 새로운 템플릿을 개발하려면 사용자 샌드박스가 적합합니다.
샌드박스 및 테스트 사례 하위 페이지 이름 지정
대부분의 보호된 템플릿에는 이미 샌드박스 하위 페이지와 테스트 사례 하위 페이지가 있습니다.이 페이지의 이름은 기본값입니다.각 템플릿의 페이지 하단에는 템플릿의 샌드박스 및 테스트 사례 페이지를 만들거나 편집하는 링크가 있습니다.
예를 들어 {{Flag}에 대한 하위 페이지는 다음과 같습니다.IOC 메달리스트}:
템플릿 | 링크 |
---|---|
주 템플릿 | 템플릿:플래그 IOC 메달리스트 |
템플릿의 샌드박스 | 템플릿:IOC 메달리스트/샌드박스 플래그 |
템플릿의 테스트 사례 페이지 | 템플릿:IOC 메달리스트/테스트 사례 플래그 |
샌드박스를 사용할 템플릿 종류
테스트 사례 패턴을 ParserFunctions를 사용하는 템플릿에 적용하는 것이 매우 권장됩니다. 이 템플릿은 파라미터가 많거나 분기가 많은 템플릿과 같이 매우 다른 모양의 출력합니다.#switch
교환입니다.
각 차단 페이지에서 결과가 거의 동일한 탐색 상자의 경우 샌드박스 페이지를 만드는 데 드는 시간과 노력보다 이점이 크지 않을 수 있지만, 의심스러운 경우 샌드박스 페이지를 만듭니다.고위험 템플릿으로 표시된 템플릿은 편집하기 전에 항상 테스트해야 합니다.다른 페이지의 경우에도 템플릿을 사용하는 페이지를 확인해야 합니다(화면 왼쪽에 있는 연결 표시줄의 도구 섹션에 있는 "여기서 링크" 링크를 통해).
/sandbox 및 /testcase 하위 페이지를 만드는 방법
![]() | 팁. 설명서 상자 하단에 있는 "만들기" 및 "미러" 링크를 사용하여 /sandbox 및 /testcase 하위 페이지를 자동으로 만듭니다. |
- 템플릿의 이름이 지정되었다고 가정합니다.
Template:X
이름을 사용하여 하위 페이지 만들기Template:X/sandbox
기본 템플릿이 {{documentation}} 템플릿을 사용하는 경우 템플릿 기본 페이지의 파란색 설명서 상자 하단에 있는 링크에서 이 작업을 수행할 수 있습니다.또는 검색 상자에 입력하거나 브라우저의 URL 표시줄에 직접 입력할 수 있습니다."/sandbox"는 모두 소문자입니다. - 다음을 포함하여 기본 템플리트의 전체 내용 복사
<noinclude>
태그 및 {{distration}} 템플릿이 있으면 /tags 하위 페이지의 편집 창에 붙여넣고 페이지를 저장합니다.편집 요약은 다음과 같아야 합니다.create sandbox version of [[Template:X]]
.- 참고: 파란색 설명서 상자 하단의 "미러" 링크를 사용하면 다음과 같은 태그가 표시됩니다.
<noinclude>
그리고 그들의 내용물은 사라질 것입니다.수동으로 복사하여 붙여넣는 것이 가장 좋습니다.
- 참고: 파란색 설명서 상자 하단의 "미러" 링크를 사용하면 다음과 같은 태그가 표시됩니다.
- 이름을 사용하여 다른 하위 페이지 만들기
Template:X/testcases
이 페이지는 실제로 존재하는 경우 파란색 설명서 상자의 하단에서만 연결되므로, 페이지 이름을 검색 상자나 브라우저의 URL 표시줄에 입력하여 만들어야 합니다.다시 한 번 "/testcases"는 모두 소문자이고 모든 단어는 하나입니다. - {{test case notice}} 템플릿을 페이지 상단에 배치하고 테스트 사례를 추가한 후(아래 참조) 페이지를 저장합니다.
- 실험 코드 추가
Template:X/sandbox
코드를 테스트하려면 페이지를 저장하고 /testcases 페이지로 이동합니다.업데이트된 결과를 보려면 /testcases 페이지를 정리해야 하는 경우가 종종 있습니다. {testcases notice} 템플릿에 이를 위한 링크가 포함되어 있습니다.페이지를 제거한 후 기본 템플릿의 결과를 샌드박스의 결과와 비교하고 문제가 없으면 기본 템플릿을 업데이트할 수 있습니다.그러나 누락된 테스트 사례와 특정 네임스페이스 또는 특정 페이지에서만 테스트할 수 있는 코드에 주의해야 합니다.
기존 /sandbox 및 /test case 하위 페이지 업데이트 방법
/sandbox 및 /testcase 하위 페이지가 이미 있는 템플릿을 변경하는 프로세스는 위와 유사합니다.
- /sandbox에 최신 버전의 템플릿 코드가 없을 수 있으므로 변경하기 전에 기본 템플릿과 동기화해야 합니다.기본 템플릿의 전체 내용을 /sandbox 하위 페이지에 복사하고 페이지를 저장합니다.편집 요약은 "기본 템플릿과 동기화" 또는 "동기화"와 같은 형식이어야 합니다.
- 샌드박스 편집을 즐겨보세요.테스트할 코드가 있으면 페이지를 저장합니다.
- 새 기능을 추가하거나 매개 변수를 변경한 경우 테스트할 수 있도록 새 테스트 사례를 /testcase 하위 페이지에 추가해야 합니다.또한 기존 테스트 사례가 완료되지 않았을 수도 있습니다.여러분이 달성하고자 하는 것에 유용하지 않다면 테스트 사례를 다시 작성하는 것은 괜찮지만, 여러분 이후에 테스트 사례를 사용할 수 있는 편집자도 고려해야 합니다.
- /testcases 페이지를 정리하여 결과를 업데이트합니다.
- 테스트 사례 결과가 올바른지 확인합니다.모든 것이 정상인 경우 샌드박스의 코드를 기본 템플릿으로 복사합니다.
테스트 사례 추가
/testcase 페이지에는 템플릿의 각 다른 동작에 대해 하나의 테스트 사례가 있어야 합니다.예를 들어, 템플릿이 배너 메시지를 출력하고 매개 변수가 italic=yes
메시지를 기울임꼴로 표시합니다. 일반 메시지와 기울임꼴로 표시된 메시지에 대해 테스트 사례를 하나 추가해야 합니다.해당 템플릿에 다른 매개 변수가 있는 경우 date=
사용자가 날짜를 삽입할 경우 세 번째 테스트 사례가 있어야 합니다.사용자가 템플릿을 사용할 수 있는 모든 방법에 대해 철저히 검토하고 사례를 만들어야 합니다. 그러나 모든 매개 변수 조합에 대해 테스트 사례를 추가하는 것은 비현실적인 경우가 많기 때문에 가장 관련성이 높은 사례를 현명하게 선택해야 합니다.
사용할 수 있는 테스트 케이스에는 여러 가지 스타일이 있습니다.작업 중인 템플리트의 특성에 따라 선택하는 항목이 달라집니다.예를 들어, 한 줄에 맞는 짧은 템플릿 출력의 경우 테스트 사례를 Wikitable 안에 넣는 것이 유용할 수 있으며, 정보 상자와 같은 길고 얇은 템플릿의 경우 {testcase table}}을(를) 사용하여 나란히 표시하는 것이 가장 좋습니다.
수동 형식 지정
수동으로 포맷하면 유연성이 뛰어나지만 모든 템플릿 매개 변수가 올바르게 입력되도록 주의해야 합니다.테스트 사례 중 하나에서 오류를 찾는 것이 템플릿 자체의 오류보다 더 어려운 경우가 많습니다.
기본 형식
이 형식은 배너 템플릿 및 인용문과 같은 긴 텍스트에 적합합니다.템플릿을 사용하여 다음과 같은 유형의 테스트를 자동으로 포맷할 수 있습니다.테스트 사례 및 기타 유사한 템플릿.
설명 제목 == * <code><nowiki>{{propertyparam1=value1param2=value2}}/</nowiki></nowiki>' '''메인''' {{propertyparam1=value2=value2}} '''샌드박스''' {property/valueparam1=value2}}
템플릿, param1, value1 등의 각 값은 동일해야 합니다.
"float" CSS 속성을 사용하는 템플릿의 경우 {clear} 템플릿을 사용하여 결과가 함께 뭉치지 않도록 해야 합니다.
설명 제목 == * <code><nowiki>{{nowikiparam1=value1param2=value2}}/</nowiki></code>''주요'{{main}'{mainparam1=value2=value2}'샌드박스'{{clearam1/clearam1=value2}}
위키블
테스트 사례의 형식을 지정하기 위해 Wikitable을 사용하는 것은 올바르게 정렬되어야 하는 출력이 짧은 템플릿에 유용한 경우가 많습니다.
테이블을 다음과 같이 시작합니다.
class="property" -! 코드! 메인! 샌드박스 <!-- 각각의 새로운 테스트 사례는 이렇게 추가할 수 있습니다: --> - <code><nowiki>{{property param1=value2=value2}}{{property/property param1=value2=value2}</nowiki>{property param1=value2}<! 이렇게 표를 완성합니다.
자동 서식
테스트 사례의 형식을 자동으로 지정하는 데 도움이 되는 다양한 템플릿이 있습니다.이러한 템플릿을 사용하면 매개 변수와 값이 한 번만 입력되지만 기본 템플릿과 샌드박스 템플릿 모두에 대해 테스트됩니다.이렇게 하면 테스트 사례 매개 변수의 오류 문제를 방지하고 테스트 사례 페이지를 쉽게 유지할 수 있습니다.이러한 템플릿에는 다음이 포함됩니다.
- 템플릿:테스트 케이스, 범용 테스트 케이스
- 템플릿:정보 상자와 같은 길고 얇은 템플릿에 대한 테스트 사례 표
- 템플릿:정보 상자와 같은 길고 얇은 템플릿에 대한 인라인 테스트 사례
- 템플릿:복잡한 호출이 있는 템플릿에 대한 테스트 사례 nowiki
- 템플릿:축소 가능한 테스트 사례: 주 템플릿과 샌드박스 템플릿이 동일한 결과를 생성하는 경우 테스트 사례를 축소합니다.
이러한 템플릿은 모두 접을 수 있는 테스트 사례를 생성할 수 있지만 템플릿:접이식 테스트 케이스에는 이 기능이 기본적으로 설정되어 있습니다.자세한 설명서는 개별 템플릿 페이지를 참조하십시오.
/테스트 사례 페이지에서 수행할 수 없는 테스트
일부 템플릿 기능은 /testcase 페이지에서 테스트할 수 없습니다.예를 들어 템플릿은 기본 네임스페이스에 있을 때만 특정 텍스트를 출력하거나 기본 페이지에서 사용할 때와 하위 페이지에서 사용할 때 서로 다른 내용을 출력할 수 있습니다.이러한 유형의 테스트의 경우 템플릿 페이지의 편집 창 아래에 표시되는 "이 템플릿으로 페이지 미리 보기" 기능을 사용할 수 있습니다.이 기능을 더욱 강력하게 만들기 위해 사용자:Jackmcbarn/advanced templatesandbox.js: 모든 네임스페이스에서 사용할 수 있으며 템플릿의 제목과 미리 볼 페이지를 지정할 수 있습니다.즉, 샌드박스 템플릿을 편집할 수 있지만 주 템플릿을 실제로 편집하는 것처럼 페이지를 미리 볼 수 있습니다.
/testcase 페이지에서 수행할 수 없는 테스트를 생각할 수 있는 경우, /testcase 페이지 상단에 테스트가 필요한 다른 항목을 설명하는 메모를 남겨 해당 템플릿의 향후 편집자들도 알 수 있도록 하는 것이 도움이 될 수 있습니다.
예제
- 기본 형식
- 템플릿:인용문, 템플릿:인용문/샌드박스 및 템플릿:견적/테스트 사례
- 위키블
- 템플릿:차이, 템플릿:Diff/샌드박스 및 템플릿:Diff/테스트 사례
- 테스트 사례 표
- 템플릿:정보 상자 정착지, 템플릿:정보 상자 정착지/모래 상자 및 템플릿:인포박스 정산/테스트 사례
참고 항목
- 위키백과:고위험 템플릿
- 도움말:템플릿 -템플릿 코드에 대한 일반 도움말
- 위키백과:템플릿 제한 - 템플릿 사용에 대한 기술적 제한 사항
- {{Template sandbox}} - 템플릿 테스트용 샌드박스
- 특수:템플릿 확장
- 특수:템플릿 샌드박스