Трэвис CI шутка: не найдено - PullRequest
0 голосов
/ 18 сентября 2018

Я пытаюсь запустить шутливые тесты вместе с моим приложением rails в Travis CI.Это то, что появляется в журналах Travis CI.

$ yarn test
yarn run v1.9.4
$ jest
/bin/sh: jest: not found
error Command failed with exit code 127.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

Вот мой .travis.yml

sudo: required
services:
  - docker
  - redis-server
language: ruby
cache:
  bundler: true
  directories:
    - node_modules
  yarn: true
addons:
  postgresql: "9.6"
  chrome: stable
rvm:
  - 2.5.1
before_script:
  - cp config/database.yml{.sample,}
  - bundle exec rake db:create db:test:prepare assets:precompile
install:
  - bundle install
  - nvm install node
  - node -v
  - npm i -g yarn
  - yarn
script:
  - yarn test
  - bundle exec rake test

Вот мой package.json> раздел сценариев и devDependencies

  "scripts": { "test": "jest" },
  "devDependencies": {
    "@vue/test-utils": "^1.0.0-beta.25",
    "babel-jest": "^23.6.0",
    "babel-preset-es2015": "^6.24.1",
    "eslint": "^5.5.0",
    "eslint-plugin-jest": "^21.22.0",
    "eslint-plugin-vue": "^4.7.1",
    "jest": "^23.6.0",
    "jest-canvas-mock": "^1.1.0",
    "stylelint": "^9.5.0",
    "stylelint-config-standard": "^18.2.0",
    "vue-jest": "^2.6.0",
    "webpack-dev-server": "2.11.2"
  },
  "jest": {
    "roots": [

Не удается на yarn test.Когда я отлаживаю задание и повторяю шаги по одному, оно успешно выполняется, и он может успешно найти и запустить jest.Я также пытался очистить кеш для репо.

Я что-то упустил в моей настройке?

1 Ответ

0 голосов
/ 19 сентября 2018

Я понял, что это оскорбительный шаг:

before_script:
  - cp config/database.yml{.sample,}
  - bundle exec rake db:create db:test:prepare assets:precompile
install:
  - bundle install
  - nvm install node
  - node -v
  - npm i -g yarn
  - yarn
script:
  - yarn test
  - bundle exec rake test

bundle exec rake assets:precompile компилирует пакет веб-пакетов для производства и удаляет devDependencies.Поэтому, когда он достигает шага script, он больше не может найти jest.Краткосрочное исправление удаляло assets:precompile в before_script.Долгосрочным было бы сделать отдельное тестирование работы для самой прекомпиляции активов.

...