web-dev-qa-db-ja.com

サイプレスですべてのテストスイートの前にコードを実行する方法

基本的に、すべてのテストが実行される前に1回ログインします。テストファイルはいくつかのファイルに分割されています。

Beforeフックを使用して各テストファイルでログインコマンドを呼び出す必要がありますか、すべてのテストの前に1回行う方法はありますか?

13
Florian F

短い答え:before内のsupportFileフックにログインコマンドを書くことができます( 他の仕様ファイルの前に自動的にロードされるファイル )。このbeforeフックは、他のテストファイルのコードの前に実行されます。


推奨事項:とはいえ、このアプローチでは、将来的に必要になる可能性のある個々のテストファイルのバリエーションに柔軟性がほとんど残りません。

  • 1つのテストでデータベースを異なる方法でシードする場合はどうなりますか?
  • 異なる権限を持つ別のユーザーとしてログインしたい場合はどうしますか?
  • onBeforeLoadで何かを一度行う必要がある場合はどうなりますか?

個々のspecファイルのbeforeフックにloginコマンドを含めることをお勧めします。

また、さらにログインコマンドをbeforeEachフックに入れて、 共有を避けてくださいanyテスト間の状態

14