-
Notifications
You must be signed in to change notification settings - Fork 309
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix: e2eテストが動かないのを修正 #1276
Fix: e2eテストが動かないのを修正 #1276
Conversation
PRありがとうございます! 最近playwrightにwatchモードができたっぽいのですが、こちらはどうでしょう 👀 |
UI表示の強制っぽかったのでパスしてましたが、 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
いくつかコメントがありますが、なぜplaywright test
だけでなくvite serve
を経由する必要が出てきているのか知りたいです。
提案1:
せっかく有用なnpm run
タスクが増えても、どれが何をするのかわからないかもしれません。
READMEで案内するのはどうでしょう。
提案2:
今の仕組みだと、e2eテストがいつの間にか壊れても気づけないかもです。
Github Actionsのテストに加えるのはどうでしょう。
元々はPlaywrightのbeforeAllフックでViteのサーバーを立ち上げていました。が、watchすると変更毎にviteのサーバーが立ち上げ直されるので、別のscriptに分離しました。 |
Actions、何故か動きませんね。 |
起動に30秒かかってるとか・・・? |
|
30秒でkillされてそう・・・? |
うーん、60秒でも起動しませんね。 |
version: | ||
description: "VOICEVOX ENGINEのバージョン。" | ||
value: ${{ steps.result.outputs.version }} | ||
runs: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
結構長いですね・・・。
このaction.yml全部をshellスクリプトを書いてbuildディレクトリあたりに入れておけば、手元でデバッグしやすいかもです。
あとREADMEでエンジンダウンロードも案内できて嬉しそう。まあご興味あれば・・・!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionsに依存してる部分がそこそこあって大変そうなので別の機会にやろうと思います
Co-authored-by: Hiroshiba <hihokaruta@gmail.com>
1回目で失敗し、2回目で成功した時の表示だと思います。 参照:https://blog.cybozu.io/entry/2020/12/23/100000
|
あー、なるほどです! flakyってそういうことなんですね。 エンジンを別起動にすると安定しそうですが、エンジン起動シーケンスを通らなくなってしまうのは残念かもです。 |
ダミーの、何もせず残る実行ファイルを用意しても良さそうに感じました。起動検知のために、Playwright側でVV_CHECK_NONCEみたいな環境変数を適当な値にセットし、その名前でファイルを作成するみたいな実行ファイルを用意しても良さそう?ファイルの存在チェックで起動確認できるはずです。 await Deno.writeTextFile(Deno.env.VV_CHECK_NONCE, "")
await new Promise(() => undefined) みたいな。 |
なるほどです、そういう手もありますね。 例えば「起動したら「利用規約に関するお知らせ」が表示される」テストの場合、初回起動時に起動シーケンス含めてちゃんと動作してほしいので、通常のエンジンで実際に起動するのが良さそうに思いました。 でも例えば「テキスト欄の追加や消去が一通りできる」みたいなテストの場合、エンジンは使い回したりそもそもモックでも良いなと思いました。 こう考えると、今回はとりあえず「エンジンが本当に起動する」のが良さそうに思いました! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
とはいえ今回のPRで動くようになったので、いったんマージに進むのが良いのかなとちょっと思いました。
Co-authored-by: Hiroshiba <hihokaruta@gmail.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!!!
修正ありがとうございました!!
テストどんどん足していってみたいですね!!
問題ないと思うのでマージします! |
内容
e2eテストの色々を修正します。
PWTEST_WATCH=1
で対応。(参照)関連 Issue
スクリーンショット・動画など
(なし)
その他
(なし)