政治的理由により、PHP7 を使うことになった。Laravel で開発することにした。
- PHP7 と Laravel はすでにインストールされていることが前提。(なぜなら以前暇な時に適当に遊んで入れていたから。わかんない奴はここ見る)
- Laravel を使うということより、テストをきちんと書いて開発することが目的
laravel new board
とかすると新しいプロジェクトが作成できる。
php artisan serve
とすると PHP のサーバーが立ち上がる。時代が変わったことを痛感する。その状態で http://localhost:8000 にブラウザにアクセスすると、Laravel のかっこいいページが表示される。
これで準備は整ったので、テストを書きながら開発していきたい。
まず、ケースを想定する。
- 掲示板に必要な機能
- 掲示板を見る
- コメントを書く
以上から、まずは board というプロジェクトには get と post の機能が必要なことがわかる。
そもそも Laravel のテストツールってなんなの?
ここ をみるとどうやら phpunit らしい。( vendor/ 以下をのぞいたら phpspec もあったので使えるのかもしれん)
board/tests 以下に ExampleTest.php というファイルがあるので、これをコピーして適当な名前にしてやる。で、とりあえず実行してみよう。
./vendor/bin/phpunit
結果は?
Fatal error: Cannot declare class ExampleTest, because the name is already in use in /Users/mayutan/workspace/board/tests/IndexTest.php on line 19
エラー。ではテストを直してみる。
IndexText.php
<?php
use Illuminate\Foundation\Testing\WithoutMiddleware;
use Illuminate\Foundation\Testing\DatabaseMigrations;
use Illuminate\Foundation\Testing\DatabaseTransactions;
class IndexTest extends TestCase
{
/**
* A basic functional test example.
*
* @return void
*/
public function testBasicExample()
{
$this->visit('/')
->see('Laravel 5');
}
}
7 行目のクラス名を IndexTest にしてやる。
こんな感じでテストを追加していきながら開発していく。