laravel phpunit phpunit
public function testNewUserRegistration()
{
$this->visit( /register )
->type( Taylor name )
->check( terms )
->press( Register )
->seePageIs( /dashboard );
}
メソッド 説明
$this->type($text $elementName) 指定したフィールドに「タイプ」します。
$this->select($value $elementName) ラジオボタンかドロップダウンフィールドを「選択」します。
$this->check($elementName) チェックボックスフィールドを「チェック」します。
$this->attach($pathToFile $elementName) フォームにファイルを「添付」します。
$this->press($buttonTextOrElementName) 指定したテキストか名前のボタンを「押し」ます。
seeJsonメソッドは渡された配列をJSONに変換します。次にそのJSONが、JSONレスポンス全体のいずれかに現れるかを確認します。ですから、他のプロパティーがJSONレスポンスに含まれていたとしても、指定した部分が存在する限り、テストはパスします。
JSONと一致するか確実に検証
指定した配列がアプリケーションから返されるJSONと完全に一致するかを確認したい場合は、seeJsonEqualsメソッドを使用してください。
<?php
class ExampleTest extends TestCase
{
/**
* 基本的な機能テストの例
*
* @return void
*/
public function testBasicExample()
{
$this->post( /user [ name => Sally ])
->seeJsonEquals([
created => true
]);
}
}
カスタムHTTPリクエスト
アプリケーションに対してカスタムHTTPリクエストを作成し、
完全なIlluminate¥Http¥Responseオブジェクトを取得したい場合は、callメソッドを使ってください。
public function testApplication()
{
$response = $this->call( GET / );
$this->assertEquals(200 $response->status());
}
laravel input と request の違い
フォームから一つの値を取得するにはInput::get()メソッドを使用します。
Blade操作|データ表示
{{ }}文は、XSS対策としてエスケープしてくれます。
1
{{ $name }}
{!! !!}文は、エスケープしません。
1
{!! $name !!}
CSRF対策
csrf_field関数を使うと、CSRF対策用のトークン値を持つフィールドを生成してくれます。
<form method= POST action= {{ url( login ) }} >
{{ csrf_field() }}
</form>
「VerifyCsrfTokenミドルウェア」にて、「リクエストのトークン」と「セッションのトークン」が一致するかチェックしてくれます。
configヘルパー関数でconfigデータを取得できます。
$value = config( app.timezone );
// デフォルト値指定
$value = config( app.timezone $default);
http://www.dn-web64.com/archives/web/laravel-cheat/
http://qiita.com/k-okada/items/c92a3f3594d751d42740