laravel 5.1 - phpUnit class 无法转换成字符串异常
laravel 5.1 - phpUnit class cannot be converted into string exception
我正在研究 Laravel 5.1 附带的 PHPUnit。我在测试文件夹下创建了一个名为 'UserTest.php' 的 php 文件。文件内容如下
<?php
use Illuminate\Foundation\Testing\WithoutMiddleware;
use Illuminate\Foundation\Testing\DatabaseMigrations;
use Illuminate\Foundation\Testing\DatabaseTransactions;
class UserTest extends TestCase
{
/**
* A basic test example.
*
* @return void
*/
public function testRegistration()
{
echo $this->post('/user/register', ['password' => 'mypass',
'name' => 'Steve Robinson',
'email' => 'stevey@gmail.com']);
/*->seeJson([
'success' => true,
]);*/
}
在服务器端我有以下代码:
public function store()
{
$credentials = Input::only('name','email', 'password');
try {
$user = User::create($credentials);
} catch (Exception $e) {
return Response::json(['error' => 'User already exists.'], HttpResponse::HTTP_CONFLICT);
}
$token = JWTAuth::fromUser($user);
return Response::json(compact('token'));
}
每当我 运行 命令 'phpunit' 。它抛出一个错误,指出 class UserTest 的对象无法转换为字符串。请告诉我我做错了什么。
$this->post()
和 $this->get()
returns $this
所以你试图通过使用 echo
将它转换为字符串,你必须使用 $this->response->getContent()
得到响应的内容。
我正在研究 Laravel 5.1 附带的 PHPUnit。我在测试文件夹下创建了一个名为 'UserTest.php' 的 php 文件。文件内容如下
<?php
use Illuminate\Foundation\Testing\WithoutMiddleware;
use Illuminate\Foundation\Testing\DatabaseMigrations;
use Illuminate\Foundation\Testing\DatabaseTransactions;
class UserTest extends TestCase
{
/**
* A basic test example.
*
* @return void
*/
public function testRegistration()
{
echo $this->post('/user/register', ['password' => 'mypass',
'name' => 'Steve Robinson',
'email' => 'stevey@gmail.com']);
/*->seeJson([
'success' => true,
]);*/
}
在服务器端我有以下代码:
public function store()
{
$credentials = Input::only('name','email', 'password');
try {
$user = User::create($credentials);
} catch (Exception $e) {
return Response::json(['error' => 'User already exists.'], HttpResponse::HTTP_CONFLICT);
}
$token = JWTAuth::fromUser($user);
return Response::json(compact('token'));
}
每当我 运行 命令 'phpunit' 。它抛出一个错误,指出 class UserTest 的对象无法转换为字符串。请告诉我我做错了什么。
$this->post()
和 $this->get()
returns $this
所以你试图通过使用 echo
将它转换为字符串,你必须使用 $this->response->getContent()
得到响应的内容。