2017-03-13 9 views
1

私はコントローラメソッドをテストしており、テストでルートにアクセスしています。Laravel PHPUnitテストでレスポンス変数を取得する方法は?

次に正しいモデルがビューに返され、すべての正しい関係がロードされていることを確認したいと思います。

$this->assertViewHas("content"); 

しかし、どのように私は、ビューに返された内容モデルが正しい、例えば、カテゴリがあることを確認することができますすることができます

は、私はこれを行うことができますことを知っていますか?つまり、コンテンツモデルオブジェクトを取得してから、どうすればいいのですか?

$this->assertEquals($content->category->name, "category 1"); 

?デバッガでそれをハッキング

+0

それが正しい情報を持っていることを確認するために、実際のコントローラメソッドとテストをつかむないのはなぜ? –

+0

実際のコントローラを取得しても、Viewを返します。ビューからコンテンツモデルオブジェクトにアクセスするにはどうすればよいですか?私はそれが私の質問の解決策になると思うが、私は答えを知らない。 – user3494047

+0

[ソースコード](https://github.com/laravel/framework/blob/5.4/src/Illuminate/Foundation/Testing/TestResponse.php)を確認すると、 ' - > assertViewHas($キー、$値) '。 –

答えて

0

は、私はあなたがこのような応答から、あなたの「コンテンツ」を得ることができますね。

$content = $response->getOriginalContent()->getData()['content'] 

のgetData()あなたの配列としてビューに送信されたデータを返します。

0

使用assertSee()

$response->assertSee("category 1"); 
関連する問題