3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Webアプリ構築カレンダーAdvent Calendar 2023

Day 5

【Day 5】Web環境構築 - CypressでE2Eテスト実行

Last updated at Posted at 2023-12-04

はじめに

スライド6.PNG


2023年アドベントカレンダー5日目です。

前回の続きで「開発者はWebの開発を進めることができる」を進めていきます。

image.png

Cypress

Cypressとは

Cypressとは、ウェブアプリケーションのエンドツーエンドテストに特化したJavaScriptベースのテストツールです。

事前準備

パッケージ

起動に必要なパッケージをインストールしていきます。

apt-get install libgtk2.0-0 libgtk-3-0 libgbm-dev libnotify-dev libnss3 libxss1 libasound2 libxtst6 xauth xvfb

chrome

chromeでの動作を想定したいので、chromeをインストールします。

sudo apt update && sudo apt -y upgrade && sudo apt -y autoremove
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo apt -y install ./google-chrome-stable_current_amd64.deb

フォント

日本語が文字化けしてしまうために、フォントをインストールします。

sudo apt install fonts-noto

:ok: ここまでで事前準備は終了です。

install

TypeScriptで開発していきたいので、こちらの手順を追っていきます。

e2e/web/
npm init -y
npm install --save-dev cypress typescript
tsconfig.json
{
  "compilerOptions": {
    "target": "es5",
    "lib": ["es5", "dom"],
    "types": ["cypress", "node"]
  },
  "include": ["**/*.ts"]
}

cypressの起動、E2Eテスト実行のスクリプトを設定します

package.json
  "scripts": {
-   "test": "echo \"Error: no test specified\" && exit 1"
+   "cypress:open": "cypress open",
+   "test:e2e": "cypress run --e2e chrome"
  }

Setting

npm run cypress:open
  • このような画面が自動で開きますので、E2E Testingを選択

  • Configファイルの生成するかどうか聞かれるので、そのままContinue

  • テストするブラウザを選ばされるので、先ほどインストールしたChromeを選択し、Start E2E Testing in Chrome

  • :ok: このような画面がでたらOKなので、一度終了します。

configにアプリのbaseUrlを設定します

cypress.config.ts
import { defineConfig } from 'cypress'

export default defineConfig({
  e2e: {
    setupNodeEvents(on, config) {
      // implement node event listeners here
    },
+   baseUrl: 'http://localhost:3000',
  },
})

これでCypressでのE2Eテストの準備が整いました。
次はWeb開発時の、Bffのモックサーバーをセットアップしていきます。

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?