結合テストを導入#697
Conversation
|
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
| await expect(page.locator(".table")).toContainText("ダミー講義名"); | ||
| }); | ||
|
|
||
| test("検索結果の詳細と簡易を切り替えられる", async ({ page }) => { |
There was a problem hiding this comment.
Twin:te ではソースコード中のコメントなどが英語で書かれていますが、テストではなるべく日本語で書きたいと思います。理由は以下です。
- 結合テストは UI と結びつきが強いので、UI で使われている言語と同じ言語を使うほうが便利
- 例えば「詳細」「簡易」などは「詳細」「簡易」と書かれたボタンがあるのでわかりやすいですが、これを英語にすると UI のどの部分を指しているのかがわかりにくくなります
- テストにおいてはテスト名やコメントが重要になるので、英語の時制や主体の間違いで大きく影響がでてしまうリスクがあるので日本語で書きたい
|
RepositoryをInterfaceを使用して抽象化しているため、APIをモックするというよりはRepositoryをモックした方が良いと思います。つまり、InMemoryで動くRepositoryをテスト用のRepositoryとして使用するのが良いかと。 また、それに伴って、本番環境などではapiを使用したRepositoryをテスト環境ではInMemoryで動作するRepositoryを自動で割り当ててくれるようなDIツールの導入も行った方が良いかもしれません。 以上を踏まえて、実施すべきテストは主に以下の2点になるかと思います。
vitestというvue.js公式がおすすめしているツールがあったので共有しておきます。 |
今回追加したいのはフロントエンドの範囲内においてユーザの行動フローの完遂を保証する結合テストという認識です。
そして、これらの 2 つのテストを分割するのではなく、Reposoitory も含めて結合してテストしたいと考えています。 この観点についてはいかがでしょうか? |
|
ありがとうございます!
|
説明が下手でした。すみません。 axiosなどを使用したRepositoryに対する動作確認はRepositoryに対する単体テストで対応しようと思っています。 ですので、playwrightを使用してモックを作成する必要は基本的にはないかと思います。 |
背景
Resolves #689
変更点
この Issue では結合テストの導入までをスコープとし、テストの追加は最小限にします。
理由は出戻りを最小限にするために、導入に問題がないかを確かめることができる最小限の変更にとどめたいからです。
NODE_ENVにとらわれず個別に GA と Sentry を有効無効できるように<button>for toggle button's clickable parts<div>ではなく<button>であるべき点を修正