Laravel 5 API Phpunit测试问题

Laravel 5 API Phpunit测试问题,laravel-5,phpunit,Laravel 5,Phpunit,我对使用phpunit测试restfulapi有疑问。我有一个端点,比如,当尝试通过邮递员或浏览器运行它时,它工作正常,我看到了结果,但当尝试使用phpunit运行它时,响应为“找不到记录”,以下是我的测试代码: /** * @group userendpoint */ public function test_user_endpoint(){ $response = $this->get('http://myserver-domain.com/get-user/1234');

我对使用phpunit测试restfulapi有疑问。我有一个端点,比如,当尝试通过邮递员或浏览器运行它时,它工作正常,我看到了结果,但当尝试使用phpunit运行它时,响应为“找不到记录”,以下是我的测试代码:

/**
 * @group userendpoint
 */
public function test_user_endpoint(){
    $response = $this->get('http://myserver-domain.com/get-user/1234');
    if($response->getStatusCode() !== 200){
        print json_decode($response->getContent())->msg;
    }

    $this->assertEquals(200, $response->getStatusCode());
    $data = json_decode($response->getContent(), true);
    $this->assertArrayHasKey('profile', $data);
}
这是预期的响应(我在浏览器和邮递员中看到):


这对我来说是一个奇怪的错误,因为它可以使用浏览器和邮递员获取记录。我的代码有错误吗。请告知,谢谢

检查您的标题是否设置为application/json

是否获得状态码200?是,但没有记录用户的详细信息。它在assertArrayHasKey()中失败。但是当在浏览器和postman中运行时,详细信息是完整的,$response->getContent()和$data返回什么?$response->getContent()是来自api的json响应,但在我的例子中,来自phpunit的响应就像{},$data将其转换为数组,以便我可以断言arrayhaskey(),这是失败的,因为$response是空的
{
    "id": 1,
    "email": "user@email.com",
    "profile": {
        "first_name": "John",
        "last_name": "Doe",
        .... 
    }
}