Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

84
Visualizações
Prueba unitaria de un método que llama a otros métodos Jest

Estuve pensando mucho en QUÉ probar en un método que funciona como un "orquestador" y su único trabajo es llamar a funciones. Así que tengo esta clase BattleInteractor

 class BattleInteractor { constructor(opts) { this.battleRepository = opts.battleRepository this.battleEntity = opts.battleEntity this.battleWinner = opts.battleWinner this.typeFactoryService = opts.typeFactory } async execute(pokemonOne, pokemonTwo) { const battleResult = this.battle(pokemonOne, pokemonTwo) return battleResult } battle(pokemonOne, pokemonTwo) { const strategy = this.typeFactoryService.getStrategy(pokemonOne, pokemonTwo) const pokemonsSetted = strategy.setStats(pokemonOne, pokemonTwo) const battleResult = this.battleEntity.battleLogic(pokemonsSetted) return this.battleWinner.battleWinner(battleResult) } } module.exports = BattleInteractor

Y el archivo de prueba con todos los métodos burlados:

 const BattleInteractor = require('../../../../src/application/useCases/battle/battleInteractor') describe('BattleInteractor test', () => { const pokemonOneMock = 'mock' const pokemonTwoMock = 'mock' const battleWinnerMock = 'mock' class TypeMock { setStats() { return 'mockStats' } } const battleInteractor = new BattleInteractor({ battleRepository: { savedDatabase: () => true }, typeFactory: { getStrategy: () => { return new TypeMock() }, }, battleEntity: { battleLogic: () => { return "battleLogicMock" } }, battleWinner: { battleWinner: () => { return battleWinnerMock } }, }) test.only('Should return properties formatted', async () => { const res = await battleInteractor.execute(pokemonOneMock, pokemonTwoMock) expect(res.message).toBe("carnivine and naganadel have tied") }) })

Todo funciona bien, así que tengo algunas preguntas: ¿Qué debo probar en un método como este? ¿Es esta una prueba unitaria o una prueba de integración? ¿Qué tan necesario es probar una clase/método como este?

about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda