目次
kahlanとは?
- PHP用のユニットテストのテストフレームワークで、RSpecやJSpecに類似した「describe-it」構文を採用している。
- composerのオートローダーに依存しているのでLaravelやSymfonyなどの人気のPHPフレームワークにも容易に導入できる。
- kahlan公式サイト
kahlan利用のメリット
- compoer install後、すぐ利用可能
- describe-it構文によりテストが読みやすく、追加時にも分かりやすい
kahlan利用のデメリット
- PHPStormとの連携ができない
- 資料が少ない
使ってみる
kahlanのインストール
- 事前にPHP環境が必要なのでMacの方はMacのPHP環境を最速で構築するもご覧ください。
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)