2015-12-08 23 views
5

đườngLaravel 5 PHPUnit - không hợp lệ JSON được trả về từ các tuyến đường

Route::group(array('prefix' => 'api'), function() { 
    Route::resource('test', 'TestController', array('only' => array('index', 'store', 'destroy', 'show', 'update'))); 
}); 

khiển

public function store(Request $request) { 
    return response()->json(['status' => true]); 
} 

Đơn vị Lớp

public function testBasicExample() { 
    $this->post('api/test')->seeJson(['status' => true]); 
} 

P Kết quả HPUnit:

1) ExampleTest::testBasicExample

không hợp lệ JSON được trả về từ các tuyến đường.

Có thể có ngoại lệ? Có ai thấy vấn đề không?

Trả lời

4

Sự cố là Mã thông báo CSRF.

Bạn có thể disable the middleware bằng WithoutMiddleware đặc điểm:

<?php 

use Illuminate\Foundation\Testing\WithoutMiddleware; 

class ExampleTest extends TestCase 
{ 
    use WithoutMiddleware; 

    // 
} 

Hoặc, nếu bạn muốn chỉ vô hiệu hóa trung gian cho một vài phương pháp kiểm tra, bạn có thể gọi phương thức withoutMiddleware từ bên trong phương pháp thử:

<?php 

class ExampleTest extends TestCase 
{ 
    /** 
    * A basic functional test example. 
    * 
    * @return void 
    */ 
    public function testBasicExample() 
    { 
     $this->withoutMiddleware(); 

     $this->visit('/') 
      ->see('Laravel 5'); 
    } 
} 
+0

Ahh cảm ơn bạn. hoạt động: D – Cas

+3

là có một cách để xem ngoại lệ đã được ném? – whiterook6

+1

Để xem ngoại lệ: $ this-> json ('POST', 'api/test'); đ ($ this-> response-> getContent()); – Aine

Các vấn đề liên quan