Warum gibt jest.mock ein Scheinobjekt mit Standardeigenschaften zurück?
P粉547420474
P粉547420474 2023-09-16 00:25:43
0
1
684

Ich versuche, ein Objekt wie dieses zu verspotten:

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

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

Ich möchte also nur die getFullName-Methode verspotten, aber wenn ich jest ausführe, stelle ich fest, dass diese Person wie folgt verspottet wird:

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

Wie kann ich die „Standard“-Eigenschaften entfernen, die ich nur möchte:

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

P粉547420474
P粉547420474

Antworte allen(1)
P粉041856955

您可以将mock替换为spyOn方法。

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

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!