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

275
Views
En Jest, ¿cómo probar una función declarada dentro de una función?

Estoy tratando de probar una función que se declara dentro de otra función (Padre). Intenté algunas cosas pero no pude probar eso. Estoy usando la biblioteca de reacción y el marco de prueba JEST en el proyecto.

Aquí está la función del archivo de servicio (service.ts) que estoy tratando de probar:

 import { useThisHook } from './base-hooks'; export function someFunction(param: string) { const [ resolveFunction, , { loading, error }, ] = useThisHook(); const childFun = (param : number) => { resolveFunction(someArguments); } return{ someValue: childFun } }

Aquí está el código del archivo de especificaciones:

 import * as SomeHooks from './base-hooks'; import * as Service from './service'; describe('Service function', () => { beforeEach(() => { jest.spyOn(SomeHooks, 'useThisHook').mockReturnValue( { //Some Value } ); }); test('Some function test', () => { const someFunctionResponse = Service.someFunction('string'); expect(someFunctionResponse).toEqual({ someValue: expect.any(Function), }); }); });

Hasta aquí está bien. También se están pasando las pruebas, pero el problema es que childFn no está recibiendo la cobertura y ese es mi requisito. Soy nuevo en React y Jest. No soy capaz de entender cómo puedo lograr eso. Intenté muchas cosas pero no tuve éxito.

about 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Su childFn no está siendo llamado, por eso no está recibiendo cobertura.

Puede refactorizar todo el childFn a un nuevo gancho y probarlo individualmente con algo como react-hooks-testing-library .

O puede separar el childFn y declararlo fuera del alcance de someFunction , pasar la resolveFunction y luego probarlo.

Solo obtiene cobertura si el código se llama realmente, no cuando se declara.

about 4 years ago · Santiago Trujillo Report
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!