Writing Cypress tests in TypeScript
Typescript で Cypress testを書く
はじめに
Typescript で Webアプリケーションを書いている際に、テストプログラムが必要になる。
比較検討した結果Cypressが何かと使い勝手が良いようなので使うことにした。
なお、当方は開発環境をUbuntu 20.04 LTS on WSL2 かつ vscodeで行っているのでこの環境で動かす為の手順を合わせて記載する。
環境要件
- OS: WSL2上で動作するUbuntsu 20.04LTS
- 使用エディタ VScode
- パッケージ管理には yarn を使用
この記事の目標
- Cypress を動かすためのWSL2(Ubuntu 20.04LTS)の環境作り
- Cypress のインストール完了
- Cypress の起動
- Typescriptによるテストコードの作成・実行
前提条件
- 適当なtypescript projectが存在し起動する
作業手順
WSL2の環境作り
Cypressには CLIがあるので必ずしもXは必要では無いが、
あった方が便利なのでX環境も含めて環境作りとする。
X環境作り
Xサーバインストール
まずは母艦(Windows)側の環境作りが必要なのでそちらから手がける。
VcXsrvをダウンロードしインストールする。
exe形式で配布されているのでインストール作業に手間取る人は居ないと思う。
というか、そのレベルで詰まるようであれば諦めろ。無理だ。
初期設定
- Display Settings
-
Multiple win windows
を選択
-
- Select how to start clients
-
Start no client
を選択
-
- Extra Settings
-
Additional parameters for VcXsrv
に-ac
を追記
-
次の画面でsave config とあるがそこはお好みで。
X関連パッケージのインストール
# sudo apt install x11-apps
# export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2; exit;}'):0
# xeyes
正しく設定されていれば目玉が出る。なお、
export DISPLAY
は今後も使うので .bashrc辺りにでも書いておくと今後が楽になる。
日本語フォントの追加
WSL2、素のUbuntuは日本語フォントが入っていないので殆どがフォント無しになってしまう。
従ってOSのフォントを使えるようにしてしまう方が良い。
$ sudo vim /etc/fonts/local.conf
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<dir>/mnt/c/Windows/Fonts</dir>
</fontconfig>
なお、Dockerで使う場合は母艦のフォントをマウント。と言うわけには行かないのでこんな風に。
RUN apt-get update
RUN apt-get install -y locales locales-all
RUN apt-get remove fonts-vlgothic
RUN apt-get install -y fonts-vlgothic
RUN locale-gen ja_JP.UTF-8
ENV LANG ja_JP.UTF-8
ENV LC_CTYPE ja_JP.UTF-8
RUN localedef -f UTF-8 -i ja_JP ja_JP.utf8
X関連の起動エラー対策
こんなのが出るので対処する。
Failed to connect to the bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
# /etc/init.d/dbus start
Cypress のインストール
依存パッケージのインストール
# sudo apt-get update
# sudo apt-get install libgtk2.0-0 libgtk-3-0 libnotify-dev libgconf-2-4 libnss3 libxss1 libasound2 libxtst6 xauth xvfb
Cypress のインストール
yarnで入れていく関係上、package.json等を更新するため、予めproject フォルダで実行する
# cd your_project_path
# yarn add -D cypress
起動オプションの追加
package.jsonに以下を追記する。jsonファイルなのと、scriptsの項はプロジェクト向けに何かしら書いてあるはずなので追記方法については適宜実施。
"scripts": {
"cy:open": "cypress open",
"cy:run": "cypress run",
},
typescript 向け設定
以下を見ながら実行する
https://docs.cypress.io/guides/tooling/typescript-support.html#Install-TypeScript
Author And Source
この問題について(Writing Cypress tests in TypeScript), 我々は、より多くの情報をここで見つけました https://qiita.com/ainamori/items/2494bc808983a86f97cd著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .