Files
exercism_puzzles/python/eliuds-eggs/HELP.md
T

6.5 KiB

Help

Correr os testes

Usamos o pytest como executor de testes do nosso site. Vais precisar de instalar o pytest na tua máquina de desenvolvimento se quiseres correr os testes do percurso Python localmente. Também vais precisar de instalar os seguintes plugins do pytest:

Encontras informação mais detalhada no guia de testes de Python do nosso site.

Correr os testes

Para correres os testes incluídos, navega até à pasta onde o exercício está guardado usando o cd no teu terminal (substitui <exercise-folder-location> abaixo pelo teu caminho). Os ficheiros de teste terminam habitualmente em _test.py e são os mesmos testes que correm no site quando uma solução é submetida.

Linux/MacOS

$ cd <path/to/exercise-folder-location>

Windows

PS C:\Users\foobar> cd <path\to\exercise-folder-location>

De seguida, corre o comando pytest no teu terminal, substituindo <exercise_test.py> pelo nome do ficheiro de teste:

Linux/MacOS

$ python3 -m pytest -o markers=task <exercise_test.py>
==================== 7 passed in 0.08s ====================

Windows

PS C:\Users\foobar> py -m pytest -o markers=task <exercise_test.py>
==================== 7 passed in 0.08s ====================

Opções comuns

  • -o : substitui o pytest.ini predefinido (podes usar esta opção para evitar avisos de marcadores)
  • -v : ativa a saída detalhada.
  • -x : para de correr os testes na primeira falha.
  • --ff : corre as falhas do teste anterior antes de correr os outros casos de teste.

Para opções adicionais, usa python3 -m pytest -h ou py -m pytest -h.

Corrigir avisos

Se não usares pytest -o markers=task ao invocar o pytest, podes receber um PytestUnknownMarkWarning nos testes que usam a nossa nova sintaxe:

PytestUnknownMarkWarning: Unknown pytest.mark.task - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/mark.html

Para evitares escrever pytest -o markers=task em todos os testes que corres, podes usar um ficheiro de configuração pytest.ini. Criámos um que podes descarregar a partir do nível de topo do diretório do percurso Python: pytest.ini.

Também podes criar o teu próprio ficheiro pytest.ini com o seguinte conteúdo:

[pytest]
markers =
    task: A concept exercise task.

Colocar o ficheiro pytest.ini no diretório root ou working dos teus exercícios do percurso Python regista os marcadores e faz parar os avisos. Encontras mais informação sobre os marcadores do pytest na documentação do pytest sobre marcar funções de teste e na documentação do pytest sobre trabalhar com marcadores personalizados.

Encontras informação sobre como personalizar as configurações do pytest na documentação do pytest sobre formatos de ficheiros de configuração.

Estender o teu IDE ou editor de código

Muitos IDEs e editores de código têm suporte integrado para usar o pytest e outras ferramentas de qualidade de código. Podes encontrar algumas opções da comunidade na nossa página de ferramentas do percurso Python.

Submeter a tua solução

Podes submeter a tua solução com o comando exercism submit eliuds_eggs.py. Este comando envia a tua solução para o site do Exercism e imprime o URL da página da solução.

É possível submeter uma solução incompleta, o que te permite:

  • Ver como outras pessoas resolveram o exercício
  • Pedir ajuda a um mentor

Precisas de ajuda?

Se quiseres ajuda para resolver o exercício, consulta as seguintes páginas:

Se esses recursos não forem suficientes, podes submeter a tua solução (incompleta) para pedir mentoria.

Abaixo encontras alguns recursos para obter ajuda, caso tenhas problemas:

Além disso, o StackOverflow é um bom sítio para procurar o teu problema ou a tua dúvida e ver se já foi respondida. Se não foi, podes sempre perguntar ou responder à pergunta de outra pessoa.