Como configurar o VS Code para rodar seus testes mais facilmente

Kelvin Morais
tech.revelo
Published in
2 min readJul 18, 2019

Hoje venho compartilhar uma dica rápida para quem trabalha com VS Code e testes automatizados.

Utilizando a opção de Tasks do VS Code podemos configurar uma task para rodar nossos testes, seja da suíte toda, apenas do arquivo que estamos trabalhando ou de uma linha específica.

O objetivo final é ter um atalho para cada uma dessas tarefas. Certamente você precisa rodar seus testes inúmeras vezes ao longo do dia, com essa configuração conseguimos automatizar isso, economizando tempo e evitando precisar trocar de aba a todo momento. Esses pequenos ganhos que temos quando dominamos nosso ambiente de desenvolvimento que nos permitem ficar mais produtivos.

Custom tasks

O VS Code nos da a opção de criar custom tasks para executar scripts e processos.

Para criar uma nova task abra a paleta de comando com Ctrl+Shift+P depois digite Tasks: Configure tasks. Você terá que escolher o template para o arquivo, escolha “Others”.

Depois disso um arquivo base será criado:

template de uma task

Para saber quais são as opções disponíveis para criar uma task veja a documentação oficial em vscode/custom-tasks.

Nosso arquivo tasks.json ficará da seguinte maneira:

Altere o “command” para o comando que utiliza para rodar os testes em seu projeto, por exemplo, usando docker e rspec ficaria:

“command”: “docker exec -it nome_container bundle exec rspec ${relativeFile}”

Atalhos

Agora que já temos as tasks criadas vamos criar os atalhos para que possamos rodar nossos testes, para isso basta abrir as configurações dos atalhos com Ctrl+K Ctrl+S e clicar no ícone para editar o JSON (fica no canto superior direito), então adicione os atalhos como preferir, no meu caso utilizo o Shift+Z F para rodar todos os testes do arquivo e Shift+Z L para rodar apenas o teste que estou trabalhando:

Note que em “args” colocamos o nome que demos para nossa task.

O resultado final é o seguinte:

Era isso, até a próxima! :)

--

--