Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

83
Views
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
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!