Jest TypeError "импорт класса" не является конструктором - PullRequest
0 голосов
/ 18 марта 2020

Класс зависимостей: Зависимость. js

export default class Dependency {
  constructor() {}

  getSomething() {
    return "something"
  }
}

Клиентский модуль: module. js

import Dependency from 'denpendency.js'

const dependencyInstance = new Dependency()

export const Service1 = {
  function1() {
    return dependencyInstance.getSomething()
  },
  function2() {
    return dependencyInstance.getSomething()
  }
}

Тест для клиентского модуля: module.spe c. js

import { Service1 } from 'module.js'

describe('module test', () => {
  it('should return something', () => {
    const value = Service1.function1()
    expect(value).toEqual('something')
  })
})

Этот тест не выполняется с:

TypeError: _dependency.default is not a constructor

Тесты начались потерпеть неудачу, когда я реорганизовал зависимость, чтобы быть классом, прежде чем был простой модуль с функциями.

Также тесты, которые не импортируют модуль. js напрямую ни зависимости. js, но имеют зависимость. js в цепочке разрешения модуля происходит сбой.

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

...