tanaka's Programming Memo

プログラミングについてのメモ。

CodeceptionのQuick Startをやってみる

PHP用のテストフレームワーク Codeception を使ってみます。Laravelのテストで .env を切り替える方法を調べると、片っ端から Codeception が使われていたので導入しようと思います。

公式ページ

Codeception

ダウンロードと設定

基本的な手順はこちらに載っています。→ Quick Start Codeception

利用したいプロジェクトフォルダーで以下を実行します。

composer require "codeception/codeception"
alias codecept='./vendor/bin/codecept'

インストール

以下で、テストに必要な環境を生成します。

codecept bootstrap

設定ファイルの codeception.yml や tests フォルダーが出来上がります。

テストの作成

最初の受け入れテスト(acceptance test)を作成しましょう。受け入れテストは、ユーザーがページを訪れる操作をエミュレートします。

codecept generate:cept acceptance Welcome

Codeceptionのシナリオテストのことを、 Cept と呼びます。

ここまで出来たら、最初のテストが実行できます。以下でテストを走らせましょう。

codecept run

最初に作成されるテストには、チェック項目がないのでテストは成功します。

テストファイルの編集

tests/acceptance/WelcomeCept.php に出力されたテストファイルを以下のように編集しましょう。

<?php
$I = new AcceptanceTester($scenario);
$I->wantTo('ページにアクセスできるか確かめます');
$I->amOnPage('/');
$I->see('tanaka\'s Programming Memo');

上書き保存をしたら、テストを動かしてみましょう。

codecept run

これは失敗します。アクセス先のURLを設定していないからです。

テストの設定ファイルを作成する

tests/acceptance.suite.yml を開いて、以下のように編集して、 URL を設定します。

class_name: AcceptanceTester
modules:
    enabled:
        - PhpBrowser:
            url: http://am1tanaka.hatenablog.com/
        - \Helper\Acceptance

保存をしてテストをしましょう。

codecept run

今度は成功します。


あとは、動かしたい環境に応じた使い方を調べていきましょう。