playwright
microsoftが出してるE2Eテストフレームワーク
開発環境や、サーバーを立ててそのサーバーに対してテストを実施する
テストするとこんな感じで出てくる
https://gyazo.com/8ed498c9bf9b5223b3eeda8fe4868804
結構時間かかるし、コード見る限り書くのめんどくさそう。
ただ、assertとかexpect系は結構jestとおんなじ感じでかけるみたい。
ページの遷移とか、そのページでクリックしてからどうなるかみたいなのをテストできる
ここをいっつもテストしようって考えるから何したらいいやろってなってた
多分いつもワイが実装してテスト書こうって思うのe2eのテストなのかも?
だからどうやって書けばええねんってなってる感ある。
codegenコマンドでページ触りながらe2e用のコード書けるの熱すぎ。
今までどうしてもtesting-libraryだけやと最初の初期化とかがめんどくさくて耐えれんかったけどこれならだいぶ楽にテスト書いてスモークテストできそう。
nextjsのuseRouterのモックとかgetServerSidePropsによってどうなってるかみたいなのだるすぎて発狂しそうやったから嬉しい。
テスト
npx playwright test f(file) --debug
ブラウザ表示したりどのコードでテストしてるかを確認しながら試せる
基本的にはui確認のために--uiとかでテストするのがメインな気もする。
疑問
playwrightは大体npxとかで実行する(npx playwright testとか)なんでpackage.jsonの依存に入れないのか?
@playwright/testは入れてる。これは多分matcherとかそこらへんのテストに必要なのが入ってるんだろう。
けどそれ以外はなんで入れないのかよくわからん。
pnpm-lock.yamlとかでバージョン管理されると色々と面倒なのかな。