Maneira de testar as entrada de dados em JavaScript com o VSCode ou outras IDEs.
- #JavaScript e Testes
Se você deseja testar localmente suas soluções dos desafios de código, mas sem mudar muito a estrutura de sua solução, este artigo te guiará em uma das formas mais simples que você poderá fazer.
Os métodos gets() e print() não são nativos do JavaScript. Quando o inciante experimenta copiar o conteúdo da plataforma e usar em sua IDE (VSCode, por exemplo), o código gera falhas (gets is not defined e/ou print is not defined) justamente por não haver um módulo que contenha estes métodos. Para resolver isso, pode seguir os passos abaixo:
Uma das maneiras de testar o código localmente, inclusive para debugar é usar uma forma de entrada parecida com a da plataforma. Para isso deve-se instalar o prompt-sync. Requer o node instalado previamente!
Para instalar o prompt-sync, na raiz do projeto, basta digitar o seguinte comando:
npm install prompt-sync
Crie o arquivo utils.js. Em meus projetos ele é criado geralmente dentro de src\utils\.
// npm install prompt-sync
// usar nos arquivos js -> const { gets, print } = require('../src/utils/utils');
const prompt = require('prompt-sync')();
function gets() {
const userInput = prompt('Digite: ');
return userInput;
}
function print(message) {
console.log(message);
}
module.exports = {gets, print};
No código do desafio, adiciona na linha 1 o seguinte trecho de código:
const {gets, print} = require('../src/utils/utils');
Caso dê erro de node, mude o endereço dentro de require, a IDE deverá encontrar o arquivo correto. Só deverá se atentar para que tenha criado e adicionado no local correto.
Abaixo temos a instalação na pasta raiz do prompt-sync através do terminal e o teste local com entrada de dados manuais através do método gets():
Como pode ter observado na figura, após o comando para a instalação do prompt-sync na pasta raiz do projeto, basta entrar na pasta onde o seu código de desafio foi escrito e executálo via linha de comando de terminal através do comando:
node "Estilizando o Nome do Brinquedo.js"
Importante: Quando finalizar os testes, ao retornar para a plataforma, comente ou remova a linha 1.
Lembre-se ainda que os testes na plataforma são automatizados. Algumas entradas poderão ser diferentes!
Boa sorte!!!