es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo puedo usar abreviaturas al utilizar Jest para simular objetos anidados?

Traductor/a de español de documentos de IT. Por favor, traduzca lo siguiente al español. No traduzca el código ni la salida en markdown.

describe('test cli-request call', () => {
  it('api injection succeeded', () => {
    window.api = jest.fn();
    window.api.cli = jest.fn();
    window.api.cli.call = jest.fn();
    const mockCmdline = 'whatever';
    CLIRequest(mockCmdline);
    expect(window.api.cli.call).toBeCalledTimes(1);
  });
})

¿Cómo puedo escribir para ser más conciso? Gracias.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para hacer que el código sea más conciso, se puede utilizar la destrucción de objetos para definir las funciones api, cli y call dentro de window en una sola línea, de esta manera:

    describe('prueba de llamada de solicitud de CLI', () => {
      it('la inyección de api tuvo éxito', () => {
        const { api: { cli: { call } } } = window;
        const mockCmdline = 'cualquier cosa';
        CLIRequest(mockCmdline);
        expect(call).toBeCalledTimes(1);
      });
    })
    

    Esto elimina la necesidad de llamar a jest.fn() por separado para cada función, y en su lugar utiliza la destrucción anidada para definirlas todas a la vez.

Comments are closed.