Diferenças entre edições de "Wikilivros:Exemplos para testes"

848 bytes adicionados ,  17h38min de 11 de outubro de 2009
tradução
m (moveu Wikilivros:Casos de teste para Wikilivros:Exemplos para testes: melhorando a tradução do título)
(tradução)
{{How-to}}
{{shortcut||WP:TEMPTEST|WP:TESTCASE|WP:TESTCASES}}
 
As [[Ajuda:Como criar predefinições|predefinições]] são uma ferramenta muito poderosa do [[MediaWiki]], mas é possível cometer erros muito facilmente, mesmo entre os usuários mais experientes. Por este motivo, as predefinições mais complexas devem ser acompanhadas de uma '''página para testes''' e alguns '''[[w:Especial:Busca/Caso de teste|casos de teste]]''' para evitar ''bugs'' e outros problemas.
 
{{Em tradução}}
 
== Em que tipo de predefinições isto deve ser usado? ==
 
ItÉ isrecomendado recommendedusar toos applyexemplos thepara testtestes casenas patternpredefinições toque templates usingutilizam ''[[mw:Help:Extension:ParserFunctions|ParserFunctions]]'' thate canque generategeram veryresultados differentbastante lookingdiferentes output,uns suchdos asoutros theconforme onesos thatparâmetros takeque manysão parameterspassados, orou thepor oneshaver thatdiversos havecasos manyem branchesum of theoperador <ttcode>#switch</ttcode> operator.
 
Para as caixas de navegação cujo resultado é quase sempre o mesmo em cada página que as utiliza, o benefício pode não valer o esforço e o tempo adicional de se criarem os exemplos para testes.
For navigational boxes, of which the outputs are almost identical on each transcluding page, the benefit may not outweight the time and effort.
 
Qualquer predefinição que seja incluída em muitas páginas deve ser testada antes de se fazer uma edição.
Any template that is transcluded in thousands of pages should of course be tested before an edit is made.
 
== Pŕe-requisitos ==
 
TheA templatepredefinição mustdeve beestar properlydevidamente documenteddocumentada, followingseguindo as orientações disponíveis na página ''[[w:en:Wikipedia:Template documentation|Template documentation]]'' (em inglês).
 
FurthermoreAlém disso, the template shoulda notpredefinição havenão toodeve manyter interleavingblocos <ttcode><nowiki><includeonly></nowiki></ttcode> ande <ttcode><nowiki><noinclude></nowiki></ttcode> blocksdemais. IdeallyIdealmente therehaveria isapenas onlyum onebloco <ttcode><nowiki><noincludeincludeonly></nowiki></ttcode> block, placedcolocado atao thefinal bottomda ofpágina theda templatepredefinição, andcontendo containing thea {{tl|documentationDocumentação}} templateda predefinição.
 
== Como criar as subpáginas /testes e /casos de teste ==
 
1: Suponha que a sua predefinição se chama <code>Predefinição:X</code>. Crie uma subpágina chamada <code>Predefinição:X/Testes</code> e outra com o nome <code>Predefinição:X/Exemplos para testes</code>. Quando estas páginas estão presentes, a documentação inserida com a {{tl|Documentação}} fornece ligações para tais páginas automaticamente. Note que apenas a primeira letra de "'''T'''estes" e "'''E'''xemplos para testes" está em maiúscula.
1: Suppose your template is named <tt>Template:X</tt>. Create a subpage with the name <tt>Template:X/sandbox</tt> and another with <tt>Template:X/testcases</tt>. When these subpages are present, the green /doc box produced by {{tl|documentation}} automatically provide links to them. Note that "/sandbox" and "/testcases" are spelled in all lower-case.
 
2: Copy only the code (everything that is not surrounded by <tt><nowiki><noinclude></nowiki></tt>) from your <tt>Template:X</tt> to <tt>Template:X/sandbox</tt>. And add the following at the end of the last line, in the same line:
 
2: Copie apenas o código (tudo que não estiver entre as marcações <code><nowiki><noinclude></nowiki></code>) da sua <code>Predefinição:X</code> para <code>Predefinição:X/Testes</code> e adicione o seguinte no final da última linha (na mesma linha):
:<code style="display:table; line-height:1.2em;">&lt;noinclude><br><br><nowiki>{{template sandbox notice}}</nowiki><br>&lt;/noinclude></code>
 
Em outras palavras, o resultado deve ser:
In other words, the result should be:
 
:<code style="display:table; line-height:1.2em;"><span style="background-color: #FFFF66">[-- TemplateCódigo codeda predefinição --]</span>&lt;noinclude><br><br><nowiki>{{template sandbox notice}}</nowiki><br>&lt;/noinclude></code>
 
'''Note!''' TheO templatecódigo codeda mustpredefinição startdeve directlycomeçar beforeimediatamente andantes physicallye touchliteralmente theencostar na marcação <code>&lt;noinclude></code> tag. AnyQualquer blankespaço spaceem orbranco newlinesou betweenquebra thede templatelinha codeentre ando thecódigo da predefinição e a marca <code>&lt;noinclude></code> tagpode fazer com que cana causepredefinição therenderize templateespaços toou renderquebras unwantedde spaceslinha orindesejáveis newlinesquando whenfor usedutilizada.
 
3: Copy a few transcluding examples from articles (<tt><nowiki>{{X | .... }}</nowiki></tt>) to your <tt>Template:X/testcases</tt>. In the test case subpage, duplicate each example, and for '''one copy''' of each example, replace <tt>X</tt> with <tt>X/sandbox</tt>. This is done so that you may compare the old and new outputs side by side in the future. Lastly, add the following line at the beginning of the test case page. It does not matter how many blank lines you put around it:
 
3: Copie alguns exemplos de inclusão de (<nowiki>{{</nowiki>'''X''' | .... }}</nowiki>) das páginas para a sua <code>Predefinição:X/Exemplos para testes</code>. Na página com os exemplos para teste, duplique cada exemplo e para uma cópia de cada exemplo substitua <code>X</code> por <code>X/Testes</code>. Isto é feito para que você possa comparar o resultado antigo com o novo resultado da predefinição próximos um do outro no futuro. Finalmente, adicione a seguinte linha ao início da página com os exemplos. Não faz diferença quantas linhas em branco você irá colocar em torno dela:
:<code style="display:table; line-height:1.2em;"><nowiki>{{template test cases notice}}</nowiki></code>
 
4: Agora o código wiki a <code>Predefinição:X/Exemplos para testes</code> irá se parecer com isto:
4: Thus <tt>Template:X/testcases</tt> will look like this:
<pre>
{{template test cases notice}}
</pre>
 
4b: Para que fique fácil de identificar as diferenças entre as duas versões da predefinição, você pode usar a [[Predefinição:Exemplos para teste]]. Então os exemplos que realmente foram alterados ao se editar a página de testes serão realçados de modo que você possa ter certeza de que cada mudança foi realmente intencional.
4b: To make differences easier to identify, you can use [[Template:Testcase]] to lay out your test cases. Then, test cases which are changed in the sandbox are highlighted so you can double check that the change was intentional.
 
== Como usar as páginas posteriormente ==
* Sincronize a página de testes da predefinição a partir do código original da predefinição (ou seja, execute o passo 2 explicado anteriormente);
* Divirta-se editando a página de testes;
* Verifique os exemplos para testes
* Se parecer que tudo está como deveria, copie o código da página de testes para a predefinição verdadeira.
 
Se você prefere não compara o resultado novo com o antigo como foi descrito anteriormente, é recomendado que você use um navegador que possua abas e abrir a subpágina com os exemplos antes de alterar a página de testes da predefinição, e outra depois de alterar a página de testes. Isto o ajudará a se certificar de que as mudanças estão sendo comparadas adequadamente.
* Sync sandbox from the real template (i.e. step 2 above)
* Have fun editing the sandbox
* Verify the test cases
* If everything looks good, copy the code from the sandbox to the real template
 
If you chose not to compare the new and old outputs side by side described at the last bullet point of the previous section, it is recommended to use a [[Tab (GUI)|tabbed]] [[Web browser|browser]] and open the test case subpage before changing the sandbox, and another after changing the sandbox. This can ensure that the differences are compared accurately.
 
== Exemplos ==
* [[w:Predefinição:Teste]]
* [[w:en:Wikipedia:High-risk templates]]
* [[w:en:Template:template sandbox notice]] – ToA putser atinserida theno bottomfinal ofdas /sandboxpáginas pagesde teste das predefinições.
* [[w:en:Template:template test cases notice]] – ToA putser oninserida topno oftopo /testcasesdas pagespáginas com exemplos para testes.
 
[[Categoria:Predefinições|{{PAGENAME}}]]