recherche

Maison  >  Questions et réponses  >  le corps du texte

Pourquoi jest.mock renvoie-t-il un objet fictif avec des propriétés par défaut ?

J'essaie de me moquer d'un objet comme ceci :

export default person = {
   firstName: "xxx",
   LastName: "xxx",
   getFullName: () => this.firstName + this.LastName
}

jest.mock('../person', () => ({
  getFullName: () => "John Smith"
}));

Donc, je veux juste me moquer de la méthode getFullName, mais quand je lance Jest, je trouve que cette personne est moquée comme :

{
   default: { getFullName: () => "John Smith" }
   ...
}

Comment puis-je me débarrasser des propriétés "par défaut" que je souhaite uniquement :

{
   getFullName: () => "John Smith"
}

P粉547420474P粉547420474494 Il y a quelques jours760

répondre à tous(1)je répondrai

  • P粉041856955

    P粉0418569552023-09-16 21:48:22

    Vous pouvez remplacer mock par la méthode spyOn.

    jest.spyOn(person, 'getFullName').mockImplementation(() => "约翰·史密斯");

    répondre
    0
  • Annulerrépondre