2016-06-26 8 views
0

を期待タイプ "オブジェクト" と一致していません:Laravel PHPUnitのテスト: 'testuserとは、' 私は次のテストを持って

class AdminPanelTest extends TestCase 
{ 
    public function photoUpload() 
    { 
     $user = new App\User; 
     $user->username = "testUser"; 
     $user->email = "[email protected]"; 
     $user->password = bcrypt("testUser"); 
     $user->photo_url = "abc.jpg"; 
     $user->save(); 

     $test = App\User::where('username','=','testUser'); 
     $this->assertEquals($test,'testUser'); 
     $this->assertCount(1,$test); 
    } 
} 

結果が'testUser' does not match expected type "object".と言います。

ユーザーがデータベースに追加されました。

何か不足していますか?

+1

確かに、テストメソッドに名前を付ける方法や、phpunitでアノテーションを使用する方法については、あなたが欠けています。 – lagbox

+0

Ohhhありがとう。 – Gammer

答えて

1

「テスト」

public function testPhotoUpload() 

App\User::where('username','=','testUser')を開始するためにあなたの関数の名前を変更するには、オブジェクトを返すされていますが、それだけで、ユーザー名の文字列'testUser'を返すように期待しているので、それはあなたのテストを失敗しています。

私はあなたのApp\Userクラスに慣れていないんだけど、ちょうど慣習から推測、おそらくその場合username

のようなものをという名前のプロパティを持っているために起こっている、あなたがそれらを比較した場合、私はあなたのテストに合格する期待代わりに期待される文字列リテラル'testUser'とオブジェクトプロパティ$test->username

assertEqualsまた、慣例では、期待値を最初のパラメータとして、実際の値を2番目のパラメータとして設定します。

$this->assertEquals('testUser', $test->username); 
+0

ええ、私はその1つを持って、私は質問を更新しました、見てください。 – Gammer

+0

@Gammer私は自分の答えを更新しました –

関連する問題