Upgrade to Pro — share decks privately, control downloads, hide ads and more …

フロントエンドテスト導入は 「ストーリー」 を意識しよう

ミカイ
November 07, 2024
5

フロントエンドテスト導入は 「ストーリー」 を意識しよう

akihabara.any #2【ノンジャンル技術系LTイベント】

2024/11/7

https://akihabara-any.connpass.com/event/333420/

ミカイ

November 07, 2024
Tweet

Transcript

  1. ミカイ ジュン 
 • フリーランスエンジニア 
 • 趣味: もくもく会、アニメ、ネット麻雀(雀魂) 


    • 好きな有名人 
 ◦ 後藤 ひとり 
 ◦ 陸八魔アル 
 ◦ 千早 愛音
 ◦ 八木 唯

  2. キャリア
 • 2020年 ~ 2022年 
 ◦ 正社員: フロントエンドエンジニア 


    • 2022年 ~ 2023年 
 ◦ 正社員: フロントエンド&バックエンドエンジニア 
 • 現在(2024年) 
 ◦ フリーランス: Next.js など設計&開発 
 • 来年(2025年 ~) 
 ◦ 株式会社ゆめみ 正社員として入社予定 

  3. export const Default: Story = { play: async ({ canvasElement,

    step }) => { const canvas = within(canvasElement); const checkbox = await canvas.findByRole("checkbox"); await step("checkboxクリックでチェックがつくこと ", async () => { await userEvent.click(checkbox); await expect(checkbox).toHaveAttribute("aria-checked", "true"); }); }, }; こんなテストコード
  4. test.describe("UI操作の確認", () => { test("チェックボックスをクリックするとラベルが表示されるか確認 ", async ({ page, })

    => { await page.getByLabel("ラベル1").click(); await page.getByLabel(PREFECTURES.AOMORI).dblclick(); const label = await page.getByLabel("ラベル1"); await expect(label).toBeVisible(); }); }); こんなテストコード
  5. 具体例
 • Storybook 
 ◦ 初期のUI設計段階で、コンポーネントがデザインや要件に 合っているかを確認したい時 
 • Playwight

    
 ◦ 手動テストの負担が増えた時。UIの操作フローが複雑化して きた段階で、自動テストに移行することで開発効率を維持し たい時