You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
it('should deny access with wrong creds',async()=>{awaitLoginPage.open()awaitLoginPage.username.setValue('foo')awaitLoginPage.password.setValue('bar')awaitLoginPage.submit()awaitexpect(LoginPage.flash).toHaveText('Your username is invalid!')})
date: 2022-08-13
title: Page Object Pattern を React Component テストでも利用する
summary: E2E テストで利用する Page Object Pattern を Component テストでも利用することで可読性の高いテストがかけるのではないだろうか?
slug: page-object-pattern-in-react-component-tests
lang: ja-JP
tags:
image: https://user-images.githubusercontent.com/666939/184478904-6108e1e1-a2c3-4e14-afa7-e6dbab1dd16f.jpg
E2E テストで利用する Page Object Pattern を Component テストでも利用することで可読性の高いテストがかけるのではないだろうかと思ってメモに残します。
Page Object Pattern とは
https://webdriver.io/docs/pageobjects/
E2E テストでは、以下2つのコードが混在することになり、テストがしたいことがぱっと見でわかりにくいことがあります。
さらに、
テストするためにページを操作するコード
が点在していると、フォームの id や name を修正しただけで、点在するコードをすべて修正することになりメンテナンス性も損なわれがちです。Page Object Pattern では、
テストするためにページを操作するコード
を オブジェクトでひとまとめにして、使い回すことで、テストの可読性やメンテナンス性を上げる方法です。Page Object Pattern の例
https://webdriver.io/docs/pageobjects/ の例をそのまま利用すると、、
これを、テストコードで使いまわしますことで、
テストするためにページを操作するコード
がシンプルになり、テストコードが読みやすく、またページに変更があっても Page Object を修正するだけで済み、テストコードへの影響を抑えることができます。React Component テストで Page Object Pattern を 利用する
The text was updated successfully, but these errors were encountered: