Compilador online com casos de teste
Escreva o seu programa, adicione casos de teste (uma entrada e a saída que você espera) e rode todos de uma vez. Cada teste volta aprovado ou reprovado, com o que o seu programa imprimiu. Grátis, sem cadastro, em 46 linguagens.
Also in EnglishTambién en español
Casos de teste
Até 32 testes. Cada um roda o código acima com a sua própria entrada.
Teste 1
Teste 2
Como conferir o seu código com casos de teste
- Escolha a linguagem no editor e escreva ou cole o seu programa. Ele lê a entrada pela entrada padrão (stdin) e imprime a resposta.
- Em cada teste, coloque a entrada que o programa lê e exatamente o que ele deve imprimir. Cabem até 32 testes.
- Escolha como a saída é comparada. O padrão ignora espaços no fim das linhas e linhas em branco no final, como a maioria dos juízes online.
- Aperte Rodar testes. Cada teste é aprovado ou mostra o veredito e o que o seu programa imprimiu no lugar.
Os dois testes de exemplo passam com o programa inicial de quase todas as linguagens do editor. Troque-os pelos exemplos do seu problema. O botão Executar do editor continua rodando o código uma vez, com a entrada da aba Entrada, o que ajuda a depurar um caso de cada vez.
Treine para provas de programação e testes técnicos
Testes técnicos de processos seletivos e provas práticas de laboratório costumam corrigir o programa do mesmo jeito que esta ferramenta: rodam o código com entradas que você não vê e comparam o que ele imprime com a saída esperada, dentro de um tempo limite. Antes de enviar, cole os exemplos do enunciado como testes e depois acrescente os casos que pegam a maioria dos erros:
- a menor entrada possível, como 0, 1 ou uma lista vazia;
- a maior entrada que o problema permite, para pegar soluções lentas e estouro de inteiro;
- números negativos, valores repetidos e entradas já ordenadas;
- entradas com um espaço a mais ou uma linha em branco no final.
Imprima só a resposta. Uma mensagem como Digite n: vira parte da saída e reprova todos os testes.
O que cada resultado significa
| Resultado | Veredito na API | O que aconteceu |
|---|---|---|
| Aprovado | accepted | O programa imprimiu a saída esperada e terminou sem erros. |
| Resposta errada | wrong_answer | Rodou sem erros, mas imprimiu outra coisa. Compare as duas saídas. |
| Tempo limite excedido | time_limit_exceeded | Levou mais de 2 segundos com essa entrada. Procure um laço infinito ou um algoritmo lento. |
| Erro de execução | runtime_error | Parou com um erro ou terminou com um código de saída diferente de zero. A mensagem de erro mostra onde. |
| Erro de compilação | compilation_error | O código não compilou, então os testes não rodaram. A saída do compilador aparece abaixo dos testes. |
| Limite de memória excedido | memory_limit_exceeded | Usou mais de 512 MB de memória. |
| Limite de saída excedido | output_limit_exceeded | Imprimiu mais de 64 KB. |
Rode casos de teste a partir do seu app
Esta página usa a API run-tests (em inglês). Uma requisição com o código e os testes devolve um veredito para cada teste, um veredito geral e uma nota, e os testes ocultos devolvem só o veredito. É grátis até 100.000 execuções por mês, e cada teste conta como uma execução. Uma requisição leva até 32 testes no plano Free, 60 no Starter e 120 no Pro.
curl -X POST https://api.onlinecompiler.io/api/run-tests/ \
-H "Authorization: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"compiler": "python-3.14",
"code": "a, b = map(int, input().split())\nprint(a + b)",
"tests": [
{"input": "1 2\n", "expected_output": "3\n"},
{"input": "-5 5\n", "expected_output": "0\n"},
{"input": "1000000000 1000000000\n", "expected_output": "2000000000\n", "hidden": true}
],
"scoring": "percent"
}'Para um juiz completo ou um script de correção, veja como criar um juiz online e a API de correção automática. Para colocar um
editor com testes na sua própria página, o runTests() do widget (em inglês) faz o mesmo que esta página.
Perguntas frequentes
Este compilador online com casos de teste é grátis?
Sim, é grátis, sem conta e sem anúncios. O seu código roda nos nossos servidores, num sandbox novo para cada teste, em qualquer uma das 46 linguagens.
Quantos casos de teste posso rodar de uma vez?
Até 32 por execução nesta página. Cada teste roda o seu programa uma vez, com a própria entrada, com tempo limite de 2 segundos e 512 MB de memória.
Por que meu teste falha se a saída parece igual?
Quase sempre por uma diferença que não se vê de relance: uma mensagem como input("Digite um número: ") é impressa como parte da saída, um valor sai com casas decimais a mais ou as palavras estão em outra ordem. Na comparação padrão, espaços no fim das linhas e linhas em branco no final não contam; escolha "Ignorar todos os espaços" se o espaçamento muda dentro das linhas.
Os testes podem conferir números decimais ou tabelas?
Sim. "Números com diferença de até 1e-6" aceita números que diferem por um pequeno erro de arredondamento, e "Linhas em qualquer ordem" aceita as mesmas linhas em outra ordem, o que serve para saídas de SQL e pandas.
Posso esconder casos de teste, como num juiz online?
Nesta ferramenta, não. A API run-tests aceita "hidden": true num teste e, nesse caso, devolve só o veredito dele, nunca a entrada ou a saída. Ela é grátis até 100.000 execuções por mês, e cada teste conta como uma execução.
Meu código fica guardado?
Sim. Cada execução fica no histórico de execuções com a saída, como toda execução no site. A página de segurança diz o que é armazenado e por quanto tempo.