Kahlanの使い方を徹底解説【実践ガイド】

目次

kahlanとは?

  • PHP用のユニットテストのテストフレームワークで、RSpecやJSpecに類似した「describe-it」構文を採用している。
  • composerのオートローダーに依存しているのでLaravelやSymfonyなどの人気のPHPフレームワークにも容易に導入できる。
  • kahlan公式サイト

kahlan利用のメリット

  • compoer install後、すぐ利用可能
  • describe-it構文によりテストが読みやすく、追加時にも分かりやすい

kahlan利用のデメリット

  • PHPStormとの連携ができない
  • 資料が少ない

使ってみる

kahlanのインストール

composer require --dev kahlan/kahlan

テストを書いてみる

  • specフォルダを作成し、[任意の名前].spec.phpを追加します
  • 以下の例はLaravelプロジェクトに追加する例です
app
・
・
spec
└── app
    └── Http
        └── Controllers
            └── SampleController.spec.php
  • SampleController.spec.php
    • kahlanのアサートはactualから書く

<?php

describe('sample controller test', function() {
    context('request test', function() {
        it('error', function() {
            // expect(actual)->toBe(expected)
            expect(true)->toBe(true);
        });
    });
});

テストを実行する

vendor/bin/kahlan
            _     _
  /\ /\__ _| |__ | | __ _ _ __
 / //_/ _` | '_ \| |/ _` | '_ \
/ __ \ (_| | | | | | (_| | | | |
\/  \/\__,_|_| |_|_|\__,_|_| |_|

The PHP Test Framework for Freedom, Truth and Justice.

src directory  : 
spec directory : /Users/hoge/factory/blog/kahlan/spec

.                                                                   1 / 1 (100%)

Expectations   : 1 Executed
Specifications : 0 Pending, 0 Excluded, 0 Skipped

Passed 1 of 1 PASS in 0.005 seconds (using 7MB)

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!

この記事を書いた人

現役エンジニア。仕事とガジェットが好き。技術ブログを書くことは自分の役に立つのか?を検証。まったり情報発信しながら少しでも誰かの役に立てれば幸いです。

目次