С помощью serverless-bundle, как я могу запустить тесты над кодом, использующим пакет sharp? - PullRequest
0 голосов
/ 16 февраля 2020

Я использую острый пакет и безсерверный пакет вместе в проекте без серверного фреймворка. Я могу нормально запускать и развертывать свой код с помощью этого сценария custom.bundle.packagerOptions.scripts: rm -rf node_modules/sharp && npm install --arch=x64 --platform=linux --target=10.15.0 sharp.

Когда я пытаюсь выполнить тест поверх кода, который касается резкого пакета, я получаю следующую ошибку: 'linux-x64' binaries cannot be used on the 'darwin-x64' platform. Please remove the 'node_modules/sharp/vendor' directory and run 'npm install'.

Я не планирую тестировать реализацию sharp, скорее, я высмеиваю файл JavaScript, который его импортирует. Вот тестовый файл, в котором я сталкиваюсь с этой проблемой: https://github.com/groffcole/art-center-service/blob/master/ports/GalleriesHttpPort.test.js

Что я делаю не так?

Спасибо.

1 Ответ

0 голосов
/ 16 февраля 2020

Я решил проблему случайно. Я удалил весь каталог node_modules и запустил npm install. Я верю, потому что я использую пакет serverless-bundle, провода пересекались. Теперь я могу успешно выполнить тесты с помощью команды serverless-bundle test.

Для справки, вот мои пользовательские настройки serverless-bundle в моем файле serverless.yml:

custom:
  bundle:
    caching: false
    packagerOptions:
      scripts:
        - rm -rf node_modules/sharp && npm install --arch=x64 --platform=linux --target=10.15.0 sharp
...