@Israfil22

Как мокнуть целый класс в Jest и TS?

Пишу на Typescript и с фреймворком Jest.
Есть класс, который работает с экземпляром RedisClient, соответственно мне нужно мокнуть этот экземпляр.
Не могу найти каким методом это сделать правильно.

jest.mock('redis')

import {RedisClient} from 'redis'
import {RedisBroker} from '../src'

const mockedRedisClient = RedisClient as jest.MockedClass<typeof RedisClient>

describe('Testing of main module.', ()=>{
    let client: RedisClient
    let broker: RedisBroker

    beforeEach(() => {
        client = new mockedRedisClient({})
        broker = new RedisBroker(client)
    })
})


TypeError: Cannot read property 'prototype' of undefined
      at Object.<anonymous> (node_modules/redis/lib/individualCommands.js:24:13)
      at Object.<anonymous> (node_modules/redis/index.js:1034:1)
  • Вопрос задан
  • 332 просмотра
Пригласить эксперта
Ответы на вопрос 2
alex4answ
@alex4answ
на сколько помню можно мокки классов кидать в директорию __mocks__
ну и es6 class mocks
Ответ написан
Djaler
@Djaler
Сеньор-помидор
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы