Exercícios de código para o aprendizado da linguagem JavaScript.
- Acesse o github classroom para ganhar acesso a este repositório;
- Após o projeto ser copiado para seu usuário pessoal, clone o projeto na sua máquina local;
- Edite o arquivo README.md e mude o endereço do
Build Status
para o endereço do seu repositório; - Instale o Jest para executar os testes unitários:
npm install -g jest
- Instale as dependências do projeto executando o comando
npm install
:
npm install
Para resolver os exercícios, basta implementar o código onde existir o comentário // IMPLEMENTE
ou colocar a resposta no lugar da constante RESPOSTA
.
Exemplos
Para o código a seguir:
function hello(name) {
// IMPLEMENTE
}
describe('hello', function() {
it('deve retornar Hello, Alan!', function() {
expect(hello('Alan')).toEqual('Hello, Alan!');
});
});
a resposta do exercício deve ser:
function hello(name) {
return "Hello, " + name + "!";
}
describe('hello', function() {
it('deve retornar Hello, Alan!', function() {
expect(hello('Alan')).toEqual('Hello, Alan!');
});
});
Repare nas chamadas das funções describe
, it
e expect
. Achou estranho?
O que estamos fazendo nestes exercícios é usar uma técnica chamada TDD. Com ela, escrevemos testes unitários que testam o comportamento do nosso código antes de escrever o código propriamente dito. Dessa forma, toda vez que você resolver os exercícios corretamente, o teste correspondente deve passar. Toda vez que responder errado, o teste deve falhar. Assim você consegue, ao final dos exercícios, saber que acertou a resposta de todos eles.
As funções describe
, it
e expect
são adicionadas pelo framework de testes Jest,
um framework criado pelo Facebook e muito utilizado pela comunidade JavaScript. Elas nos ajudam a descrever os testes do nosso código.
Para executar otodos s testes unitários do projeto, execute:
jest
Para executar apenas um arquivo:
jest arquivo.js
Você pode ainda executar os testes usando o escopo de apenas um describe
ou it
. Para o nosso teste de exemplo acima, podemos executar
da seguinte forma para o texto do describe
:
jest -t "hello"
ou então pelo texto do it
:
jest -t "deve retornar Hello"
Você também pode manter o jest rodando no console enquanto edita o código para ir acompanhando os testes sendo executados em tempo de edição:
jest --watch
Siga as instruções em CONFIGURACAO.md.