Проверка асинхронной функции машинописи с помощью Jest - PullRequest
0 голосов
/ 20 февраля 2019

У меня есть следующий код в основном файле машинописи:

public readonly funcname = async (param: string): Promise<CustomeType> => {
    const constname = somefunction(strparam, jsonparam);
    return Promise.resolve({
        reqname:constname
    });
};

Это написано в экспортированном классе, скажем, exportedservice.

Я пишу следующий тестовый пример в шутку для того же самого:

const outputMock = jest.fn(() => {
    return Promise.reject();
});

const exportedserviceobj = new exportedservice();

describe('Statement', () => {
    it('statement', async () => {
        expect.assertions(1);
        const outputResult = await exportedserviceobj.funcname('TestFile');
        outputMock().then(outputResult);
        expect(outputResult).toEqual('undefined');
    });
});

во время выполнения тестового примера;это выдает ошибку типа:

exportedservice.funcname is not a function

Поскольку я новичок в машинописи;так что после многих исследований и разработок;Я не могу решить проблему.Пожалуйста, предложите подходящий способ решить эту проблему.Заранее спасибо.

1 Ответ

0 голосов
/ 20 февраля 2019

Вы должны издеваться над экспортированным сервисом.Например:

import * as Exportedservice from './exportedservice'
jest.mock('./exportedservice')
describe('Statement', () => {
it('statement', async () => {
    Exportedserviceobj.funcname = jest.fn().mockResolvedValue('test');
    const outputResult = await Exportedserviceobj.funcname('TestFile');
    expect(outputResult).toEqual('test');
});

});

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...