jestでテストコードを書いて、githubにプッシュした時にテストが実行されるようにしたかったのですが、備忘録として書いておきます
#何が起きたか
ディレクトリはこんな感じです
ディレクトリ構成
root/
├── github/workfrow/next.yml
├── app
│ ├── package.json
│ └── tests(ここの中身の関数をテスト)
next.ymlの記述はこうです
next.yml
name: jest
on: [push]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Setup Node.js
uses: actions/setup-node@v1
with:
node-version: '11.12.x'
- name: yarn install
run: yarn install --ignore-engines
- name: Run jest test
run: npm test
このままテストをしてしまうと問題が発生しました。
yarn installにて、
no such file or directory package.json
とエラーが出て止まってしまいました。
エラー文から察するに、「package.jsonなんてどこにもないよ」ということみたいです。
なので、カレントディレクトリがrootディレクトリ上にあるから、appに移動する必要があるという仮説を立てました。
#やったこと
next.ymlにworking-directoryを追加し、カレントディレクトリを指定しました。
next.yml
name: jest
on: [push]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Setup Node.js
uses: actions/setup-node@v1
with:
node-version: '11.12.x'
- name: yarn install
run: yarn install --ignore-engines
- name: Run jest test
run: npm test
これでエラーが出ることなくテストが通りました!