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 opytest.inipredefinido (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 say.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:
- A documentação do percurso Python
- A categoria de programação do percurso Python no fórum
- A categoria de programação do Exercism no fórum
- As Perguntas Frequentes
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:
- A PSF aloja as transferências do Python, a documentação e recursos da comunidade.
- Os Fóruns da Comunidade Python servem para obter ajuda, discutir PEPs, falar com os principais contribuidores do Python e muito mais.
- A Comunidade do Exercism no Discord
- Os Fóruns de Discussão da Comunidade do Exercism
- A Comunidade Python no Discord é uma comunidade muito prestável e ativa.
- O /r/learnpython/ é um subreddit pensado para quem está a aprender Python.
- O #python no Libera.chat é o sítio onde os programadores responsáveis pela linguagem se juntam e põem o trabalho em dia.
- Os Fóruns da Comunidade Free Code Camp
- O Pythontutor para percorrer pequenos excertos de código visualmente.
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.