blog: https://tech.raksul.com/2016/09/20/start_testing_from_here/
- node >= 5.0
brew update
brew install node
npm install
env.example から .env の作成
cp env.example .env
.env ファイルを編集する。それぞれの変数の意味は以下の通り
# env.example の説明
DEV_BASIC_AUTH_USERNAME=yamamoto # Basic ユーザー名
DEV_BASIC_AUTH_PASSWORD=password # Basic パスワード
LOGIN_FORM_PARAM_NAME_USER=mail # 1. login form の post パラメータ(name=username、mailなどにあたる)
LOGIN_FORM_PARAM_NAME_PASSWORD=pass # 2. login form の post パラメータ2(name=password)
LOGIN_USER= # 3. login するアカウント(1. のvalue にあたる)
LOGIN_USER_PASSWORD= # 4. login するアカウントのパスワード(2. のvalue にあたる)
PROTOCOL=https # https or http
BASE_DOMAIN=example.com # テスト対象のドメイン
DEV_SUBDOMAIN=dev # 開発環境用のサブドメイン
STG_SUBDOMAIN=stage # stage用のサブドメイン
NODE_TLS_REJECT_UNAUTHORIZED=0 # 証明書のエラーを無視
urls.js ファイルを編集する。それぞれの変数の意味は以下の通り
# urls.js の説明
module.exports = {
login: '/login/', // login フォームのあるURL
withoutAuth: [ // login 不要ページ一覧
'/',
'/privacy/',
],
withAuth: [ // login 必要ページ一覧
'/mypage/',
]
};
npm run test:prod #https://example.com
npm run test:dev #https://dev.example.com
./
├── env.example # 環境変数の設定例
├── global.conf.js # 共通で利用する設定
├── mocha.init.js # mocha で利用するライブラリなどの読み込み
├── mocha.opts # mocha のオプション
├── package.json # 実行スクリプトの設定など
├── readme.md
├── test # テストコードのディレクトリ
│ ├── withAuth.spec.js
│ └── withNoAuth.spec.js
└── urls.js # 対象URL一覧 (ここにすべてのURLを書く)
テストを実行すると以下のように読み込まれる
- mocha.opts (mocha オプション設定)
- mocha.init.js (mocha で利用する共通部分)
- global.conf.js を読み込んでテストで全体で利用する globals に格納する
- global.conf.js では以下を実施
- テスト対象の url を設定する (urls.js)
- .env 環境変数を設定する
- NODE_ENV から ベースのURLを設定する
- global.conf.js では以下を実施
- 利用するライブラリの設定
- test/*.spec.js を実行する