Проверьте, была ли вызвана функция объекта внутри другой функции в jest - PullRequest
0 голосов
/ 06 ноября 2019

Мой код выглядит примерно так:

Class A :{
    Object foo = new foo;
    function (){
        ...
        let var = this.foo.bar()
        ...
}

И я хотел бы проверить с помощью jest, что foo.bar () был вызван. Я пробовал с

barSpy = jest.spyOn(function, 'foo.bar');

, но это не работает, кто-нибудь может подсказать мне хороший синтаксис?

1 Ответ

1 голос
/ 06 ноября 2019

Параметры для jest.spyOn - это объект, который содержит функцию, за которой вы хотите следить, и имя функции, за которой следите (см .: https://jestjs.io/docs/en/jest-object.html#jestspyonobject-methodname). С определенным синтаксисом сказать немного сложновыше, но если foo доступно как свойство для экземпляра A (для этого примера допустим, что ваш экземпляр называется a), тогда a.foo - это объект, а 'bar' - это имяфункция.

Вот некоторый код для лучшей иллюстрации:

class A {
    constructor() {
        this.foo = new foo();
    }

    function myFunction() {
        ...
        this.foo.bar();
        ....
    }
}

...

let a = new A();
let barSpy = jest.spyOn(a.foo, 'bar');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...