豆腐とコンソメ

豆腐とコンソメ

もろもろのプログラム勉強記録

Laravelで始めるTDD開発:準備

やっちまったぜ。

タイトルでTDDと謳っていますが、書いてる人はテストコードもろくに書いたことがない人です。

さらにいえば、Laravelも今回初挑戦です。

もっといえば、PHPをちゃんと始めたのも2ヶ月ぐらいです。

でも、今年で30歳になるの。

さて、そんな私がこの記事を書くにあたっての拠り所にするのは、例のごとくLaracastの動画になります。

laracasts.com

今回参考にする動画は有料になりますが、Laravelであれば以下のスクラッチ動画がとても為になります。

laracasts.com

また、以前書きましたVue.jsの動画もおすすめです。

www.tohuandkonsome.site

TDDの動画のボリュームがかなりありますが、最後まで完走を目指したいと思います!


さっそくはじめてみる

2017年11月現在、最新であるLaravel5.5を使っていきます。
また、環境はLaravel Homesteadを使用しています。

laravel.com

Laravelの環境構築自体はいろいろな記事がありますので、そちらを参照いただければと思います。自分もお世話になりました。

また、本題と関係ないIDEの話ですが、Laracastの動画ではphpStromを使っていたので、真似して使ってみることにしました。

普段はVsCodeを使っています。

つくっていくもの

と、その前になにをつくるかですよね。

今回は、「掲示板」をつくっていきます。

f:id:konoemario:20171120221352p:plain
掲示板をつくる

この掲示板は、だれでも見れます。

でも、ログインしなきゃ新しいトピックの掲示板を立てることも、それに対する書き込みもできません。

また、掲示板の一覧を見るページだったり、掲示板を作成するページだったりもあります。

とりあえずは以上です。

他にも機能がでてきそうですが、動画を消化しつつ、必要なエッセンスを入れていきたいと思います。


プロジェクトを作成する

「forum」という名前でlaravelのプロジェクトを作成します。

新規プロジェクトの作成

$ laravel new forum

作成したらとりあえずブラウザで見れるかぐらいは確認しておきます。

f:id:konoemario:20171120230923p:plain
Laravelが見れるか確認する


作業メモ:Homestead環境でドメイン名でアクセスする

vagrantで立ち上げているHomesteadにドメイン名「homestead.app」でアクセスできるようにした。

普段は、以下のようにLaravelをビルトインサーバーで動していたけど、せっかくなので。

ビルトインサーバー例

php -S 0.0.0.0:8000 -t public

作業にあたっては、以下の記事を参考にさせていただいた。

HomesteadをつかってLaravel5を動かしてみる - Qiita

Homestead.yamlの内容が、「/etc/nginx/sites-available/homestead.app」に反映されてnginxのドキュメントルートの設定うんたらかんたらを見た気がしたんだけれども、うまくいかなくって、「/etc/nginx/sites-available/homestead.app」を直接編集して、nginxの再起動したら見れるようになった。


テストコードを実行する

初めてのテストコードを実行します。

プロジェクトのルートディレクトリで以下のコマンドを実行すると、何かが動きます。

テストコードを実行

phpunit 

phpunitなんかねえよ!ってなった場合、pathが通ってないので、こんな感じで実行しましょう。

テストコードを実行

./vendor/bin/phpunit

このペースで大丈夫か、と不安になったので次回に続きます。