Neste caso, se refatoramos para utilizar essas funções, onde estariam localizadas as funções (fazLoginNoSite, escolheFoto e fazDownloadFotoSelecionada)? No mesmo arquivo?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Neste caso, se refatoramos para utilizar essas funções, onde estariam localizadas as funções (fazLoginNoSite, escolheFoto e fazDownloadFotoSelecionada)? No mesmo arquivo?
Oi Janile, tudo bem?
Desculpe a demora em retornar.
As funções fazLoginNoSite, escolheFoto, e fazDownloadFotoSelecionada devem ser definidas em algum lugar do código para serem utilizadas no teste. Existem algumas opções sobre onde essas funções podem ser localizadas:
No mesmo arquivo de teste: Você pode definir essas funções diretamente no mesmo arquivo em que o teste está sendo escrito. Isso é viável e pode funcionar bem, especialmente se essas funções forem específicas do teste em questão e não são compartilhadas com outros testes.
it('Busca fotos no site AluraPic', () => {
fazLoginNoSite(login, senha);
escolheFoto(foto);
fazDownloadFotoSelecionada();
})
// Funções utilizadas no teste
function fazLoginNoSite(login, senha) {
// Implementação do login
}
function escolheFoto(foto) {
// Implementação para selecionar a foto
}
function fazDownloadFotoSelecionada() {
// Implementação para fazer o download da foto selecionada
}
Arquivo separado para funções de teste: Se essas funções forem relevantes para outros testes ou se você quiser manter o arquivo de teste mais organizado, pode criar um arquivo separado para essas funções de teste e importá-las no arquivo de teste que as utiliza.
// testeUtil.js - Arquivo separado com funções de teste
export function fazLoginNoSite(login, senha) {
// Implementação do login
}
export function escolheFoto(foto) {
// Implementação para selecionar a foto
}
export function fazDownloadFotoSelecionada() {
// Implementação para fazer o download da foto selecionada
}
// arquivoDeTeste.spec.js - Arquivo de teste que utiliza as funções
import { fazLoginNoSite, escolheFoto, fazDownloadFotoSelecionada } from './testeUtil.js';
it('Busca fotos no site AluraPic', () => {
fazLoginNoSite(login, senha);
escolheFoto(foto);
fazDownloadFotoSelecionada();
});
Onde você deve definir essas funções depende do contexto, do escopo de uso e da estrutura geral do seu projeto de teste. Se essas funções são específicas para um único teste e não são usadas em outros lugares, colocá-las diretamente no arquivo de teste pode ser uma opção mais simples. Caso contrário, agrupá-las em um arquivo separado pode ajudar na organização e na reutilização das funções em outros testes.
Ah esse curso recebeu uma atualização, você pode verificar aqui:
Um abraço e bons estudos.