Wikilivros:Exemplos para testes: diferenças entre revisões

Origem: Wikilivros, livros abertos por um mundo aberto.
[edição não verificada][edição não verificada]
Conteúdo apagado Conteúdo adicionado
m moveu Wikilivros:Casos de teste para Wikilivros:Exemplos para testes: melhorando a tradução do título
tradução
Linha 1: Linha 1:
{{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.
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? ==
== Em que tipo de predefinições isto deve ser usado? ==


It is recommended to apply the test case pattern to templates using [[mw:Help:Extension:ParserFunctions|ParserFunctions]] that can generate very different looking output, such as the ones that take many parameters, or the ones that have many branches of the <tt>#switch</tt> operator.
É recomendado usar os exemplos para testes nas predefinições que utilizam ''[[mw:Help:Extension:ParserFunctions|ParserFunctions]]'' e que geram resultados bastante diferentes uns dos outros conforme os parâmetros que são passados, ou por haver diversos casos em um operador <code>#switch</code>.


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 ==
== Pŕe-requisitos ==


The template must be properly documented following [[Wikipedia:Template documentation]].
A predefinição deve estar devidamente documentada, seguindo as orientações disponíveis na página ''[[w:en:Wikipedia:Template documentation|Template documentation]]'' (em inglês).


Furthermore, the template should not have too many interleaving <tt><nowiki><includeonly></nowiki></tt> and <tt><nowiki><noinclude></nowiki></tt> blocks. Ideally there is only one <tt><nowiki><noinclude></nowiki></tt> block, placed at the bottom of the template, and containing the {{tl|documentation}} template.
Além disso, a predefinição não deve ter blocos <code><nowiki><includeonly></nowiki></code> e <code><nowiki><noinclude></nowiki></code> demais. Idealmente haveria apenas um bloco <code><nowiki><includeonly></nowiki></code>, colocado ao final da página da predefinição, contendo a {{tl|Documentação}} da predefinição.


== Como criar as subpáginas /testes e /casos de teste ==
== 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>
:<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">[-- Template code --]</span>&lt;noinclude><br><br><nowiki>{{template sandbox notice}}</nowiki><br>&lt;/noinclude></code>
:<code style="display:table; line-height:1.2em;"><span style="background-color: #FFFF66">[-- Código da predefinição --]</span>&lt;noinclude><br><br><nowiki>{{template sandbox notice}}</nowiki><br>&lt;/noinclude></code>


'''Note!''' The template code must start directly before and physically touch the <code>&lt;noinclude></code> tag. Any blank space or newlines between the template code and the <code>&lt;noinclude></code> tag can cause the template to render unwanted spaces or newlines when used.
'''Note!''' O código da predefinição deve começar imediatamente antes e literalmente encostar na marcação <code>&lt;noinclude></code>. Qualquer espaço em branco ou quebra de linha entre o código da predefinição e a marca <code>&lt;noinclude></code> pode fazer com que a predefinição renderize espaços ou quebras de linha indesejáveis quando for utilizada.

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>
:<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>
<pre>
{{template test cases notice}}
{{template test cases notice}}
Linha 49: Linha 42:
</pre>
</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 ==
== 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 ==
== Exemplos ==
Linha 67: Linha 59:
* [[w:Predefinição:Teste]]
* [[w:Predefinição:Teste]]
* [[w:en:Wikipedia:High-risk templates]]
* [[w:en:Wikipedia:High-risk templates]]
* [[w:en:Template:template sandbox notice]] – To put at the bottom of /sandbox pages.
* [[w:en:Template:template sandbox notice]] – A ser inserida no final das páginas de teste das predefinições.
* [[w:en:Template:template test cases notice]] – To put on top of /testcases pages.
* [[w:en:Template:template test cases notice]] – A ser inserida no topo das páginas com exemplos para testes.


[[Categoria:Predefinições|{{PAGENAME}}]]
[[Categoria:Predefinições|{{PAGENAME}}]]

Revisão das 17h38min de 11 de outubro de 2009

As 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 casos de teste para evitar bugs e outros problemas.

Em que tipo de predefinições isto deve ser usado?

É recomendado usar os exemplos para testes nas predefinições que utilizam ParserFunctions e que geram resultados bastante diferentes uns dos outros conforme os parâmetros que são passados, ou por haver diversos casos em um operador #switch.

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.

Qualquer predefinição que seja incluída em muitas páginas deve ser testada antes de se fazer uma edição.

Pŕe-requisitos

A predefinição deve estar devidamente documentada, seguindo as orientações disponíveis na página Template documentation (em inglês).

Além disso, a predefinição não deve ter blocos <includeonly> e <noinclude> demais. Idealmente haveria apenas um bloco <includeonly>, colocado ao final da página da predefinição, contendo a {{Documentação}} da predefinição.

Como criar as subpáginas /testes e /casos de teste

1: Suponha que a sua predefinição se chama Predefinição:X. Crie uma subpágina chamada Predefinição:X/Testes e outra com o nome Predefinição:X/Exemplos para testes. Quando estas páginas estão presentes, a documentação inserida com a {{Documentação}} fornece ligações para tais páginas automaticamente. Note que apenas a primeira letra de "Testes" e "Exemplos para testes" está em maiúscula.

2: Copie apenas o código (tudo que não estiver entre as marcações <noinclude>) da sua Predefinição:X para Predefinição:X/Testes e adicione o seguinte no final da última linha (na mesma linha):

<noinclude>

{{template sandbox notice}}
</noinclude>

Em outras palavras, o resultado deve ser:

[-- Código da predefinição --]<noinclude>

{{template sandbox notice}}
</noinclude>

Note! O código da predefinição deve começar imediatamente antes e literalmente encostar na marcação <noinclude>. Qualquer espaço em branco ou quebra de linha entre o código da predefinição e a marca <noinclude> pode fazer com que a predefinição renderize espaços ou quebras de linha indesejáveis quando for utilizada.

3: Copie alguns exemplos de inclusão de ({{X | .... }}</nowiki>) das páginas para a sua Predefinição:X/Exemplos para testes. Na página com os exemplos para teste, duplique cada exemplo e para uma cópia de cada exemplo substitua X por X/Testes. 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:

{{template test cases notice}}

4: Agora o código wiki a Predefinição:X/Exemplos para testes irá se parecer com isto:

 {{template test cases notice}}

 {{X | foo}}
 {{X/sandbox | foo}}

 {{X | bar}}
 {{X/sandbox | bar}}

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.

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.

Exemplos

Ver também