0
私はLaravelテストを学んでおり、Laravel Framework Assertionsを使いたいと思います。私のテストでassertViewHasメソッドを使用できません
public function __construct()
{
$this->mock = Mockery::mock("Eloquent", "Post");
}
public function testIndex()
{
$this->mock
->shouldReceive('all')
->once()
->andReturn('foo');
$this->app->instance('Post', $this->mock);
$this->call('GET', 'posts');
$this->assertViewHas('posts'); // This method seem can't be find
}
私のIDEは、それはそれを見つけることができない方法を自動補完することができないので、assertViewHas
方法が存在しないようですが、私はLaravel 5.5 APIで検索するとき、私は中assertViewHas方法でその方法を見つけますTestResponse
クラス内のIlluminate/Foundation/Testing
名前空間。 この問題をどうやって解決できますか?
もう1つの問題は、私のPost
モデルを模擬するために嘲笑を使用していますが、端末にvendor\bin\phpunit
を実行するとエラーが発生するということです。あなたは、実行中の
$response = $this->call('GET', 'posts');
$response->assertViewHas('posts');
デフォルトの方法を使用する必要があります
$this->call('GET', 'posts');
$this->assertViewHas('posts'); // This method seem can't be find
:array_merge()
はの
あなたのテストクラスはLaravelの 'TestCase'クラスを拡張していますか? – Jeffwa
'array_merge'と呼ばれる場所にコードを表示してください。本当に別の質問であるべきです。 – Jeffwa
はい!私のクラスはlaravelの 'Tests \ TestCase'を拡張します – yvesdaxmaz