Ошибка Aurelia Jest - загрузчик должен реализовать loadTemplate - PullRequest
0 голосов
/ 24 января 2019

После обновления библиотеки aurelia-dependency-injection с помощью Yarn я начал получать следующие ошибки в моих тестах Jest.

Похоже, что библиотека внедрения зависимостей работает не так, как ожидалось?

  ● Datepicker › click date icon opens calendar

    Loader must implement loadTemplate(url).

      at Loader.loadTemplate (node_modules/aurelia-loader/dist/commonjs/aurelia-loader.js:119:11)
      at ensureRegistryEntry (node_modules/aurelia-templating/dist/commonjs/aurelia-templating.js:3382:17)
      at ViewEngine.loadViewFactory (node_modules/aurelia-templating/dist/commonjs/aurelia-templating.js:3456:12)
      at RelativeViewStrategy.loadViewFactory (node_modules/aurelia-templating/dist/commonjs/aurelia-templating.js:562:23)
      at HtmlBehaviorResource.load (node_modules/aurelia-templating/dist/commonjs/aurelia-templating.js:4238:27)
      at ResourceDescription.load (node_modules/aurelia-templating/dist/commonjs/aurelia-templating.js:3258:26)
      at ResourceModule.load (node_modules/aurelia-templating/dist/commonjs/aurelia-templating.js:3200:23)
      at node_modules/aurelia-templating/dist/commonjs/aurelia-templating.js:3587:41

1 Ответ

0 голосов
/ 24 января 2019

Проблема заключалась в том, что мой файл yarn.lock содержал дубликаты aurelia-dependency-injection ссылок:

aurelia-dependency-injection@^1.0.0, aurelia-dependency-injection@^1.3.1:
  version "1.4.1"
  resolved "https://private-yarn-mirror/aurelia-dependency-injection/-/aurelia-dependency-injection-1.4.1.tgz#fb916e1809446600fb2cdf062f549060df49ef86"
  dependencies:
    aurelia-metadata "^1.0.0"
    aurelia-pal "^1.0.0"

aurelia-dependency-injection@^1.4.2:
  version "1.4.2"
  resolved "https://private-yarn-mirror/aurelia-dependency-injection/-/aurelia-dependency-injection-1.4.2.tgz#fa9d1a9f4931e353fb8f938ee0c54b9fbf3f341a"
  dependencies:
    aurelia-metadata "^1.0.0"
    aurelia-pal "^1.0.0"

Моим решением было просто удалить верхнюю ссылку, чтобы мой файл yarn.lock выглядел так:

aurelia-dependency-injection@^1.4.2:
  version "1.4.2"
  resolved "https://private-yarn-mirror/aurelia-dependency-injection/-/aurelia-dependency-injection-1.4.2.tgz#fa9d1a9f4931e353fb8f938ee0c54b9fbf3f341a"
  dependencies:
    aurelia-metadata "^1.0.0"
    aurelia-pal "^1.0.0"

Затем я выполнил следующую команду, чтобы обеспечить правильное генерирование yarn.lock после моего ручного редактирования.

  • yarn add aurelia-framework@latest

После этого, мой yarn.lock выглядел так:

aurelia-dependency-injection@^1.0.0, aurelia-dependency-injection@^1.3.1, aurelia-dependency-injection@^1.4.1, aurelia-dependency-injection@^1.4.2:
  version "1.4.2"
  resolved "https://private-yarn-mirror/aurelia-dependency-injection/-/aurelia-dependency-injection-1.4.2.tgz#fa9d1a9f4931e353fb8f938ee0c54b9fbf3f341a"
  dependencies:
    aurelia-metadata "^1.0.0"
    aurelia-pal "^1.0.0"

Теперь мои Jest-тесты работают нормально, и все работает и в других местах.

Вскоре я обнаружил эту статью, в которой обсуждается проблема, хотяЯ лично там не пользовался инструментами:

...