Ferramenta grátis
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.
Pela equipe do OnlineCompiler.io. Atualizado em .
Also in EnglishTambién en español
Casos de teste
Até 8 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é 8 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é 8 testes no plano Free, 20 no Starter e 40 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 construir um juiz online e a API de correção automática (as duas em inglês). 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é 8 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 (em inglês) diz o que é armazenado e por quanto tempo.