UfUzR64rRzYa_Question
@UfUzR64rRzYa_Question

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

vercelのデプロイが失敗する

Q&A

Closed

解決したいこと

vercelのデプロイを成功させたい
こちらのUdemy講座を参考にデプロイを試みたところ処理が途中で止まってしまいました。
https://www.udemy.com/course/github-frontend-react-nextjs/learn/lecture/26189976

発生している問題・エラー

ー略ー
[01:26:46.634] Detected Next.js version: 13.4.9
[01:26:46.634] Running "yarn test && yarn build"
[01:26:46.887] yarn run v1.22.17
[01:26:46.925] $ jest --watch
[01:26:49.329] No tests found related to files changed since last commit.
[01:26:49.347] 

この状態で処理が止まり30分経っても変化がありませんでした。

調べたこと

「No tests found related to files changed since last commit.」
で検索すると、コマンドラインでは
「Press a to run all tests, or run Jest with --watchAll.」
という返答があり「a」を押せば動くということのようですが、デプロイ途中にそのような操作を挟むわけはないのでどういうことなのか...という状態です。

試したこと

Build & Development Setingsで
Build Commandに「yarn test && yarn build」を設定しない状態で実行するとデプロイは成功します。
ですがそれだと「gitでマージをする時にテストを実行しパスしたらマージを実行」という動作が叶わないので解決したいです。

0

1Answer

yarn test によって実行されていると思われる jest --watch は、テストファイルを監視して変更があるたびにテストを実行するコマンドです。監視中はコマンドが終了しないのでデプロイがここから先に進んでいません。

解決するには、監視せずにテストを一度だけ実行するようにします。 package.json ファイルに以下のような記述があるはずですので、 jest --watchjest に変更してください。

package.json
{
  ...
  "scripts": {
    ...
    "test": "jest --watch",
2Like

Comments

  1. jest --watch を jest に変更したところ本格的にエラーになってしまいました...

    しかしjest自体は実行されており、それによってHome.test.jsxというファイルが引っ掛かったためエラーということのようです。
    そこでは「act関数がサポートされていないためエラー」と言われているのですがHome.test.jsxにact関数などどこにも書いておらず...
    これ以上追っていくと泥沼になってしまいそうです。

    「処理が途中で止まってしまう」件については解決という事でありがとうございました...

  2. act関数のエラーが解消され、デプロイが成功、githubのプルリクエストページでテストが自動的に動くことも確認できました!
    本当にありがとうございます!!:sob:

Your answer might help someone💌