Help:Pickle/FAQ/pt

From Linux Web Expert

Isto tenta responder a algumas das perguntas mais comuns. Se tiver outras perguntas coloque-as na página de discussão.

Perguntas Frequentes

O que é um teste pickle?

Um teste pickle é um teste escrito num estilo semelhante ao que se tornou comum no RSpec. Ele foca-se no resultado esperado de exemplos. Também se foca em testes que podem ser escritos antes do código existir, não em testes acrescentados após tudo estar concluído.

Onde é que defino testes pickle?

Os testes pickle residem em subpáginas com o sufixo .spec. Normalmente, uma só página contém todos os testes para um módulo individual, mas todas as subpáginas correspondentes serão incluídas numa execução de testes.

Onde estão os relatórios?

Os relatórios de uma execução de testes estáticos — aqueles que serão automaticamente reavaliados em cada execução — são normalmente publicados como parte da página spec. Os relatórios não são publicados na página de discussão; essa página só deve ser usada para propósitos de conversação.

Como executar testes durante uma edição?

Se o módulo está a ser editado, então há um botão adicional abaixo do editor (possivelmente, da consola). Carregar neste botão executa os testes encontrados e produz o relatório.

Para um módulo em teste

Carregar no botão só executará testes do módulo atual (página spec).

Para um módulo fonte

Carregar no botão executará todos os testes da subpágina para o módulo atual (página fonte).

Como é que se executam testes a partir da consola?

Para executar testes a partir da consola, tem de fazer algum do trabalho de bastidores. Isto é bastante simples, mas não é igual para os dois tipos de páginas.

Na consola de testes

A variável especial de exportação p contém o módulo em teste, mas o require interno aponta para o módulo fonte gravado. Se isto estiver correto pode usar o seguinte.

=p(null) -- the first argument is the language, which is not used

Se isso não for suficiente pode usar o seguinte, onde a última tabela pode conter qualquer substituição na forma de pares chave-valor, nos quais a chave é uma página carregada de outra forma.

=p(null, {}) -- the first argument is the language, which is not used
Na consola de fonte

A variável especial de exportação p contém o módulo fonte, mas o require dos módulos em teste aponta para o módulo fonte gravado. Se isto estiver correto pode usar o seguinte.

=require 'Module:Foo/bar.spec'(null) -- the first argument is the language, which is not used

Se isso não for suficiente pode usar o seguinte, onde a última tabela pode conter qualquer substituição na forma de pares chave-valor, nos quais a chave é uma página carregada de outra forma.

=require 'Module:Foo/bar.spec'(null, {baz=p}) -- the first argument is the language, which is not used

Como executar testes para outra localização (locale)?

Os testes são executados para a língua do utilizador atual a menos que outra língua seja explicitamente fornecida. Só pode fazê-lo através da consola. A língua é a primeira entrada na chamada da função.

Na consola de testes
=p('nb') -- the first argument is the language, which is Norwegian Bokmål
Na consola de fonte
=require 'Module:Foo/bar.spec'('nb', p) -- the first argument is the language, which is Norwegian Bokmål