- Các bài kiểm tra đơn vị lý tưởng phải bao gồm tất cả các đường dẫn có thể có trong một ứng dụng với một bài kiểm tra đơn vị bao gồm một đường dẫn cụ thể trong một chức năng hoặc phương pháp
- Các bài kiểm tra cho một lớp có tên là
57 sẽ thuộc về một lớp có tên làuse Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
58use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
- Các lớp kiểm tra nên kế thừa [hầu hết thời gian] từ
59use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
- Các bài kiểm tra là các phương thức công khai được đặt tên là
60. Ngoài ra, bạn có thể sử dụng chú thíchuse Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
61 trong docblock của một phương thức để đánh dấu nó là một phương thức thử nghiệmuse Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
- Bên trong các phương thức kiểm tra, các phương thức khẳng định như
62 được sử dụng để khẳng định rằng một giá trị thực khớp với một giá trị mong đợiuse Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
Dưới đây là một lớp kiểm tra ví dụ
assertEquals[0, count[$stack]]; array_push[$stack, 'foo']; $this->assertEquals['foo', $stack[count[$stack]-1]]; $this->assertEquals[1, count[$stack]]; $this->assertEquals['foo', array_pop[$stack]]; $this->assertEquals[0, count[$stack]]; } }
Dưới đây là danh sách tất cả các xác nhận đi kèm với PHPunit
Mảng
Booleans
Lớp / Đối tượng
so sánh
Các tập tin
JSON
Dây
XML
Hỗn hợp / Hỗn hợp
Bây giờ bạn đã thoáng thấy một số khẳng định có sẵn. Họ là những người thực sự thực hiện kiểm tra để đảm bảo rằng mọi thứ đang diễn ra theo đúng kế hoạch
Hãy nhớ rằng, biến
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
63 bên trong bao đóng đã cho trong các bài kiểm tra luôn được liên kết với một lớp Test Case. Do đó, các xác nhận là các phương thức của biến use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
63 Laravel cung cấp một API rất thông thạo để thực hiện các yêu cầu HTTP cho ứng dụng của bạn và kiểm tra các phản hồi. Ví dụ: hãy xem thử nghiệm tính năng được xác định bên dưới
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
Phương thức
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
09 đưa ra yêu cầu use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
10 vào ứng dụng, trong khi phương thức use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
11 khẳng định rằng phản hồi được trả về phải có mã trạng thái HTTP đã cho. Ngoài xác nhận đơn giản này, Laravel còn chứa nhiều xác nhận để kiểm tra tiêu đề phản hồi, nội dung, cấu trúc JSON, v.v.Yêu cầu
Để đưa ra yêu cầu đối với ứng dụng của mình, bạn có thể gọi các phương pháp
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
09, use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
13, use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
14, use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
15 hoặc use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
16 trong bài kiểm tra của mình. Các phương thức này không thực sự đưa ra yêu cầu HTTP "thực" cho ứng dụng của bạn. Thay vào đó, toàn bộ yêu cầu mạng được mô phỏng bên trongThay vì trả về một phiên bản
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
17, các phương thức yêu cầu thử nghiệm trả về một phiên bản của use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
18, cung cấp nhiều xác nhận hữu ích cho phép bạn kiểm tra các phản hồi của ứng dụng của mìnhuse Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
Nói chung, mỗi bài kiểm tra của bạn chỉ nên đưa ra một yêu cầu đối với ứng dụng của bạn. Hành vi không mong muốn có thể xảy ra nếu nhiều yêu cầu được thực hiện trong một phương pháp thử nghiệm duy nhất
Lưu ý
Để thuận tiện, phần mềm trung gian CSRF sẽ tự động bị tắt khi chạy thử nghiệm.
Tùy chỉnh tiêu đề yêu cầu
Bạn có thể sử dụng phương pháp
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
19 để tùy chỉnh các tiêu đề của yêu cầu trước khi nó được gửi đến ứng dụng. Phương pháp này cho phép bạn thêm bất kỳ tiêu đề tùy chỉnh nào bạn muốn vào yêu cầuuse Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
4Bánh quy
Bạn có thể sử dụng các phương pháp
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
20 hoặc use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
21 để đặt giá trị cookie trước khi đưa ra yêu cầu. Phương thức use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
20 chấp nhận tên cookie và giá trị làm hai đối số của nó, trong khi phương thức use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
21 chấp nhận một mảng các cặp tên/giá trịuse Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
9Phiên / Xác thực
Laravel cung cấp một số trình trợ giúp để tương tác với phiên trong quá trình kiểm tra HTTP. Trước tiên, bạn có thể đặt dữ liệu phiên thành một mảng nhất định bằng cách sử dụng phương thức
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
24. Điều này hữu ích để tải phiên có dữ liệu trước khi đưa ra yêu cầu cho ứng dụng của bạnuse Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
1Phiên của Laravel thường được sử dụng để duy trì trạng thái cho người dùng hiện được xác thực. Do đó, phương thức của trình trợ giúp
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
25 cung cấp một cách đơn giản để xác thực một người dùng nhất định là người dùng hiện tại. Ví dụ: chúng tôi có thể sử dụng nhà máy mô hình để tạo và xác thực người dùnguse Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
3Bạn cũng có thể chỉ định bảo vệ nào sẽ được sử dụng để xác thực người dùng đã cho bằng cách chuyển tên bảo vệ làm đối số thứ hai cho phương thức
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
25. Bộ phận bảo vệ được cung cấp cho phương pháp use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
25 cũng sẽ trở thành bộ bảo vệ mặc định trong suốt thời gian thử nghiệmuse Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
6Phản hồi gỡ lỗi
Sau khi đưa ra yêu cầu kiểm tra cho ứng dụng của bạn, các phương pháp
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
28, use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
29 và use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
30 có thể được sử dụng để kiểm tra và gỡ lỗi nội dung phản hồiuse Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
0Ngoài ra, bạn có thể sử dụng các phương pháp
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
31, use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
32 và use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
33 để kết xuất thông tin về phản hồi và sau đó dừng thực thiuse Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
4Xử lý ngoại lệ
Đôi khi bạn có thể muốn kiểm tra xem ứng dụng của mình có đưa ra một ngoại lệ cụ thể nào không. Để đảm bảo rằng ngoại lệ không bị bắt bởi trình xử lý ngoại lệ của Laravel và được trả về dưới dạng phản hồi HTTP, bạn có thể gọi phương thức
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
34 trước khi thực hiện yêu cầu của mìnhuse Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
6Ngoài ra, nếu bạn muốn đảm bảo rằng ứng dụng của mình không sử dụng các tính năng không được hỗ trợ bởi ngôn ngữ PHP hoặc các thư viện mà ứng dụng của bạn đang sử dụng, bạn có thể gọi phương thức
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
35 trước khi thực hiện yêu cầu của mình. Khi tính năng xử lý phản đối bị tắt, các cảnh báo phản đối sẽ được chuyển đổi thành ngoại lệ, do đó khiến thử nghiệm của bạn không thành cônguse Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
0Kiểm tra API JSON
Laravel cũng cung cấp một số trình trợ giúp để kiểm tra API JSON và phản hồi của chúng. Ví dụ: các phương thức
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
36, use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
37, use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
38, use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
39, use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
40, use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
41 và use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
42 có thể được sử dụng để đưa ra các yêu cầu JSON với các động từ HTTP khác nhau. Bạn cũng có thể dễ dàng truyền dữ liệu và tiêu đề cho các phương thức này. Để bắt đầu, hãy viết một bài kiểm tra để thực hiện một yêu cầu use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
43 tới use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
44 và khẳng định rằng dữ liệu JSON dự kiến đã được trả vềuse Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
1Ngoài ra, dữ liệu phản hồi JSON có thể được truy cập dưới dạng biến mảng trên phản hồi, giúp bạn thuận tiện kiểm tra các giá trị riêng lẻ được trả về trong phản hồi JSON
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
2Lưu ý
Phương thức45 chuyển đổi phản hồi thành một mảng và sử dụng
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
46 để xác minh rằng mảng đã cho tồn tại trong phản hồi JSON do ứng dụng trả về. Vì vậy, nếu có các thuộc tính khác trong phản hồi JSON, thử nghiệm này sẽ vẫn vượt qua miễn là có đoạn đã cho.
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
Xác nhận các kết quả khớp JSON chính xác
Như đã đề cập trước đây, phương pháp
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
45 có thể được sử dụng để khẳng định rằng một đoạn JSON tồn tại trong phản hồi JSON. Nếu bạn muốn xác minh rằng một mảng nhất định khớp chính xác với JSON mà ứng dụng của bạn trả về, bạn nên sử dụng phương thức use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
48use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
3Khẳng định trên đường dẫn JSON
Nếu bạn muốn xác minh rằng phản hồi JSON chứa dữ liệu đã cho ở một đường dẫn cụ thể, bạn nên sử dụng phương thức
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
49use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
4Phương thức
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
49 cũng chấp nhận một bao đóng, có thể được sử dụng để tự động xác định xem xác nhận có nên vượt qua hay khônguse Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
5Kiểm tra JSON thông thạo
Laravel cũng cung cấp một cách hay để kiểm tra trôi chảy các phản hồi JSON của ứng dụng của bạn. Để bắt đầu, hãy chuyển một bao đóng cho phương thức
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
45. Việc đóng này sẽ được gọi với một thể hiện của use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
52 có thể được sử dụng để đưa ra các xác nhận đối với JSON được ứng dụng của bạn trả về. Phương thức use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
53 có thể được sử dụng để xác nhận một thuộc tính cụ thể của JSON, trong khi phương thức use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
54 có thể được sử dụng để xác nhận rằng một thuộc tính cụ thể bị thiếu trong JSONuse Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
6Hiểu Phương pháp use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
55
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
Trong ví dụ trên, bạn có thể nhận thấy rằng chúng tôi đã gọi phương thức
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
55 ở cuối chuỗi xác nhận của chúng tôi. Phương thức này thông báo cho Laravel rằng có thể có các thuộc tính khác trên đối tượng JSON. Nếu phương thức use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
55 không được sử dụng, thử nghiệm sẽ thất bại nếu các thuộc tính khác mà bạn không đưa ra xác nhận tồn tại trên đối tượng JSONMục đích đằng sau hành vi này là để bảo vệ bạn khỏi việc vô tình tiết lộ thông tin nhạy cảm trong các phản hồi JSON của bạn bằng cách buộc bạn đưa ra xác nhận rõ ràng đối với thuộc tính hoặc cho phép rõ ràng các thuộc tính bổ sung thông qua phương thức
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
55Tuy nhiên, bạn nên lưu ý rằng việc không bao gồm phương thức
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
55 trong chuỗi xác nhận của bạn không đảm bảo rằng các thuộc tính bổ sung sẽ không được thêm vào các mảng được lồng trong đối tượng JSON của bạn. Phương thức use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
55 chỉ đảm bảo rằng không có thuộc tính bổ sung nào tồn tại ở mức lồng trong đó phương thức use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
55 được gọiXác nhận sự hiện diện/vắng mặt thuộc tính
Để khẳng định rằng một thuộc tính có hoặc không có, bạn có thể sử dụng các phương thức
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
62 và use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
54use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
7Ngoài ra, các phương thức
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
64 và use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
65 cho phép khẳng định sự có mặt hoặc vắng mặt của nhiều thuộc tính cùng một lúcuse Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
8Bạn có thể sử dụng phương pháp
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
66 để xác định xem có ít nhất một trong danh sách các thuộc tính đã cho hay khônguse Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
9Khẳng định chống lại các bộ sưu tập JSON
Thông thường, tuyến đường của bạn sẽ trả về một phản hồi JSON chứa nhiều mục, chẳng hạn như nhiều người dùng
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
40Trong những tình huống này, chúng tôi có thể sử dụng phương thức
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
62 của đối tượng JSON thông thạo để đưa ra xác nhận đối với người dùng có trong phản hồi. Ví dụ: giả sử rằng phản hồi JSON chứa ba người dùng. Tiếp theo, chúng tôi sẽ thực hiện một số xác nhận về người dùng đầu tiên trong bộ sưu tập bằng cách sử dụng phương thức use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
68. Phương thức use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
68 chấp nhận một bao đóng nhận một chuỗi JSON có thể xác nhận khác mà chúng ta có thể sử dụng để đưa ra xác nhận về đối tượng đầu tiên trong bộ sưu tập JSONuse Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
41Phạm vi xác nhận bộ sưu tập JSON
Đôi khi, các tuyến của ứng dụng của bạn sẽ trả về các bộ sưu tập JSON được gán các khóa có tên
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
40Khi kiểm tra các tuyến đường này, bạn có thể sử dụng phương pháp
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
62 để khẳng định số lượng mục trong bộ sưu tập. Ngoài ra, bạn có thể sử dụng phương pháp use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
62 để xác định phạm vi chuỗi xác nhậnuse Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
43Tuy nhiên, thay vì thực hiện hai cuộc gọi riêng biệt tới phương thức
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
62 để xác nhận đối với bộ sưu tập use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
73, bạn có thể thực hiện một cuộc gọi duy nhất cung cấp một bao đóng làm tham số thứ ba của nó. Khi làm như vậy, bao đóng sẽ tự động được gọi và nằm trong phạm vi mục đầu tiên trong bộ sưu tậpuse Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
44Xác nhận các loại JSON
Bạn có thể chỉ muốn xác nhận rằng các thuộc tính trong phản hồi JSON thuộc một loại nhất định. Lớp
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
52 cung cấp các phương thức use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
75 và use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
76 để thực hiện điều đóuse Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
45Bạn có thể chỉ định nhiều loại bằng cách sử dụng ký tự
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
77 hoặc chuyển một mảng các loại làm tham số thứ hai cho phương thức use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
75. Xác nhận sẽ thành công nếu giá trị phản hồi là bất kỳ loại nào được liệt kêuse Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
46Các phương pháp
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
75 và use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
76 nhận dạng các loại sau. use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
81, use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
82, use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
83, use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
84, use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
85 và use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
86Kiểm tra tệp tải lên
Lớp
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
87 cung cấp phương thức use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
88 có thể được sử dụng để tạo các tệp hoặc hình ảnh giả để thử nghiệm. Điều này, kết hợp với phương pháp use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
88 của mặt tiền use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
89, giúp đơn giản hóa rất nhiều việc kiểm tra tệp tải lên. Ví dụ: bạn có thể kết hợp hai tính năng này để dễ dàng kiểm tra biểu mẫu tải lên hình đại diệnuse Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
47Nếu bạn muốn xác nhận rằng một tệp đã cho không tồn tại, bạn có thể sử dụng phương thức
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
91 được cung cấp bởi mặt tiền use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
89use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
48Tùy chỉnh tệp giả
Khi tạo tệp bằng phương pháp
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
88 do lớp use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
94 cung cấp, bạn có thể chỉ định chiều rộng, chiều cao và kích thước của hình ảnh [tính bằng kilobyte] để kiểm tra tốt hơn các quy tắc xác thực ứng dụng của bạnuse Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
49Ngoài việc tạo hình ảnh, bạn có thể tạo các tệp thuộc bất kỳ loại nào khác bằng phương pháp
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
95use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
90Nếu cần, bạn có thể chuyển một đối số
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
96 cho phương thức để xác định rõ ràng kiểu MIME mà tệp sẽ trả vềuse Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
91Chế độ xem thử nghiệm
Laravel cũng cho phép bạn hiển thị chế độ xem mà không cần thực hiện yêu cầu HTTP mô phỏng cho ứng dụng. Để thực hiện điều này, bạn có thể gọi phương thức
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
97 trong bài kiểm tra của mình. Phương thức use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
97 chấp nhận tên khung nhìn và một mảng dữ liệu tùy chọn. Phương thức trả về một phiên bản của use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
99, cung cấp một số phương thức để thuận tiện đưa ra các xác nhận về nội dung của chế độ xemuse Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
92Lớp
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
400 cung cấp các phương thức xác nhận sau. use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
401, use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
402, use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
403, use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
404, use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
405 và use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
406Nếu cần, bạn có thể lấy nội dung chế độ xem thô, được hiển thị bằng cách truyền phiên bản
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
400 thành một chuỗiuse Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
93Chia sẻ lỗi
Một số chế độ xem có thể phụ thuộc vào các lỗi được chia sẻ trong túi lỗi chung do Laravel cung cấp. Để làm ẩm túi lỗi với các thông báo lỗi, bạn có thể sử dụng phương pháp
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
408use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
94Rendering Blade & Linh kiện
Nếu cần, bạn có thể sử dụng phương pháp
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
409 để đánh giá và hiển thị chuỗi Blade thô. Giống như phương thức use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
97, phương thức use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
409 trả về một thể hiện của use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
99use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
95Bạn có thể sử dụng phương pháp
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
413 để đánh giá và kết xuất một thành phần Blade. Phương thức use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
413 trả về một thể hiện của use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
415use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
96xác nhận có sẵn
Xác nhận phản hồi
Lớp
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
18 của Laravel cung cấp nhiều phương thức xác nhận tùy chỉnh mà bạn có thể sử dụng khi kiểm tra ứng dụng của mình. Những xác nhận này có thể được truy cập trên phản hồi được trả về bởi các phương pháp thử nghiệm use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
36, use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
09, use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
13, use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
14 và use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
16khẳng địnhCookie
Khẳng định rằng phản hồi chứa cookie đã cho
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
97khẳng địnhCookieĐã hết hạn
Khẳng định rằng phản hồi chứa cookie đã cho và nó đã hết hạn
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
98khẳng địnhCookieKhông hết hạn
Khẳng định rằng phản hồi chứa cookie đã cho và nó chưa hết hạn
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
99khẳng địnhCookieMissing
Khẳng định rằng phản hồi không chứa cookie đã cho
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
10khẳng địnhđã tạo
Xác nhận rằng phản hồi có mã trạng thái HTTP 201
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
11khẳng địnhKhông thấy
Khẳng định rằng chuỗi đã cho không có trong phản hồi do ứng dụng trả về. Xác nhận này sẽ tự động thoát khỏi chuỗi đã cho trừ khi bạn chuyển đối số thứ hai là
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
422use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
12khẳng địnhDontSeeText
Khẳng định rằng chuỗi đã cho không có trong văn bản phản hồi. Xác nhận này sẽ tự động thoát khỏi chuỗi đã cho trừ khi bạn chuyển đối số thứ hai là
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
422. Phương thức này sẽ chuyển nội dung phản hồi tới hàm use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
424 PHP trước khi thực hiện xác nhậnuse Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
13khẳng địnhTải về
Khẳng định rằng phản hồi là "tải xuống". Thông thường, điều này có nghĩa là tuyến đường được gọi trả về phản hồi đã trả về phản hồi
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
425, phản hồi use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
426 hoặc use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
427use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
14Nếu muốn, bạn có thể xác nhận rằng tệp có thể tải xuống đã được gán một tên tệp nhất định
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
15khẳng địnhExactJson
Xác nhận rằng phản hồi chứa khớp chính xác của dữ liệu JSON đã cho
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
16khẳng địnhCấm
Xác nhận rằng phản hồi có mã trạng thái HTTP bị cấm [403]
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
17khẳng địnhHeader
Khẳng định rằng tiêu đề và giá trị đã cho có trong phản hồi
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
18khẳng địnhHeaderMissing
Khẳng định rằng tiêu đề đã cho không có trong phản hồi
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
19khẳng địnhJson
Khẳng định rằng phản hồi chứa dữ liệu JSON đã cho
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
30Phương thức
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
45 chuyển đổi phản hồi thành một mảng và sử dụng use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
46 để xác minh rằng mảng đã cho tồn tại trong phản hồi JSON do ứng dụng trả về. Vì vậy, nếu có các thuộc tính khác trong phản hồi JSON, thử nghiệm này sẽ vẫn vượt qua miễn là có đoạn đã chokhẳng địnhJsonCount
Khẳng định rằng JSON phản hồi có một mảng với số lượng mục dự kiến tại khóa đã cho
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
31khẳng địnhJsonFragment
Khẳng định rằng phản hồi chứa dữ liệu JSON đã cho ở bất kỳ đâu trong phản hồi
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
32khẳng địnhJsonMissing
Khẳng định rằng phản hồi không chứa dữ liệu JSON đã cho
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
33khẳng địnhJsonMissingExact
Khẳng định rằng phản hồi không chứa dữ liệu JSON chính xác
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
34khẳng địnhJsonMissingValidationErrors
Khẳng định rằng phản hồi không có lỗi xác thực JSON cho các khóa đã cho
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
35Lưu ý
Phương thức assertValid chung hơn có thể được sử dụng để xác nhận rằng phản hồi không có lỗi xác thực được trả về dưới dạng JSON và không có lỗi nào được đưa vào bộ lưu trữ phiên.
khẳng địnhJsonPath
Khẳng định rằng phản hồi chứa dữ liệu đã cho tại đường dẫn đã chỉ định
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
36Ví dụ: nếu ứng dụng của bạn trả về phản hồi JSON sau đây
Bạn có thể khẳng định rằng thuộc tính
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
430 của đối tượng use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
431 khớp với một giá trị đã cho như vậyuse Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
37khẳng địnhJsonMissingPath
Khẳng định rằng phản hồi không chứa đường dẫn đã cho
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
38Ví dụ: nếu ứng dụng của bạn trả về phản hồi JSON sau đây
Bạn có thể khẳng định rằng nó không chứa thuộc tính
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
432 của đối tượng use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
431use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
39khẳng địnhJsonStructure
Khẳng định rằng phản hồi có cấu trúc JSON nhất định
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
60Ví dụ: nếu phản hồi JSON do ứng dụng của bạn trả về chứa dữ liệu sau
Bạn có thể khẳng định rằng cấu trúc JSON phù hợp với mong đợi của bạn như vậy
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
61Đôi khi, các phản hồi JSON do ứng dụng của bạn trả về có thể chứa các mảng đối tượng
Trong tình huống này, bạn có thể sử dụng ký tự
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
434 để khẳng định cấu trúc của tất cả các đối tượng trong mảnguse Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
61khẳng địnhJsonValidationErrors
Khẳng định rằng phản hồi có các lỗi xác thực JSON đã cho đối với các khóa đã cho. Phương pháp này nên được sử dụng khi xác nhận các phản hồi trong đó các lỗi xác thực được trả về dưới dạng cấu trúc JSON thay vì được đưa vào phiên
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
63Lưu ý
Phương thức assertInvalid chung hơn có thể được sử dụng để khẳng định rằng phản hồi có lỗi xác thực được trả về dưới dạng JSON hoặc lỗi đã được đưa vào bộ lưu trữ phiên.
khẳng địnhJsonValidationErrorFor
Khẳng định phản hồi có bất kỳ lỗi xác thực JSON nào đối với khóa đã cho
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
64khẳng địnhVị trí
Khẳng định rằng phản hồi có giá trị URI đã cho trong tiêu đề
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
435use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
65khẳng định nội dung
Khẳng định rằng chuỗi đã cho khớp với nội dung phản hồi
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
66khẳng địnhKhông có nội dung
Khẳng định rằng phản hồi có mã trạng thái HTTP đã cho và không có nội dung
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
67khẳng địnhKhông tìm thấy
Xác nhận rằng phản hồi có mã trạng thái HTTP không tìm thấy [404]
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
68khẳng địnhOk
Xác nhận rằng phản hồi có mã trạng thái 200 HTTP
khẳng địnhPlainCookie
Khẳng định rằng phản hồi chứa cookie không được mã hóa đã cho
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
69khẳng địnhRedirect
Khẳng định rằng phản hồi là một chuyển hướng đến URI đã cho
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
00khẳng địnhRedirect Chứa
Xác nhận xem phản hồi có đang chuyển hướng đến URI chứa chuỗi đã cho hay không
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
01khẳng định RedirectToRoute
Khẳng định rằng phản hồi là một chuyển hướng đến tuyến đường đã đặt tên
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
02khẳng địnhRedirectToSignedRoute
Khẳng định rằng phản hồi là một chuyển hướng đến tuyến đã ký
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
03khẳng địnhXem
Khẳng định rằng chuỗi đã cho được chứa trong phản hồi. Xác nhận này sẽ tự động thoát khỏi chuỗi đã cho trừ khi bạn chuyển đối số thứ hai là
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
422use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
04khẳng địnhSeeInOrder
Khẳng định rằng các chuỗi đã cho được chứa theo thứ tự trong phản hồi. Xác nhận này sẽ tự động thoát khỏi các chuỗi đã cho trừ khi bạn chuyển đối số thứ hai là
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
422use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
05khẳng địnhXemVăn bản
Khẳng định rằng chuỗi đã cho được chứa trong văn bản phản hồi. Xác nhận này sẽ tự động thoát khỏi chuỗi đã cho trừ khi bạn chuyển đối số thứ hai là
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
422. Nội dung phản hồi sẽ được chuyển đến hàm use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
424 PHP trước khi xác nhận được thực hiệnuse Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
06khẳng địnhSeeTextInOrder
Khẳng định rằng các chuỗi đã cho được chứa theo thứ tự trong văn bản phản hồi. Xác nhận này sẽ tự động thoát khỏi các chuỗi đã cho trừ khi bạn chuyển đối số thứ hai là
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
422. Nội dung phản hồi sẽ được chuyển đến hàm use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
424 PHP trước khi xác nhận được thực hiệnuse Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
07khẳng địnhSessionHas
Khẳng định rằng phiên chứa phần dữ liệu đã cho
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
08Nếu cần, một bao đóng có thể được cung cấp làm đối số thứ hai cho phương thức
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
442. Xác nhận sẽ vượt qua nếu đóng trả về use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
443use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
09khẳng địnhSessionHasInput
Khẳng định rằng phiên có một giá trị nhất định trong mảng đầu vào được flash
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
40Nếu cần, một bao đóng có thể được cung cấp làm đối số thứ hai cho phương thức
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
444. Xác nhận sẽ vượt qua nếu đóng trả về use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
443use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
41khẳng địnhSessionHasAll
Khẳng định rằng phiên chứa một mảng các cặp khóa/giá trị đã cho
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
42Ví dụ: nếu phiên ứng dụng của bạn chứa các khóa
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
430 và use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
447, bạn có thể khẳng định rằng cả hai đều tồn tại và có các giá trị được chỉ định như vậyuse Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
43khẳng địnhSessionHasErrors
Khẳng định rằng phiên có lỗi đối với
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
448 đã cho. Nếu use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
448 là một mảng kết hợp, hãy khẳng định rằng phiên chứa thông báo lỗi [giá trị] cụ thể cho từng trường [khóa]. Phương pháp này nên được sử dụng khi kiểm tra các tuyến flash lỗi xác thực cho phiên thay vì trả về chúng dưới dạng cấu trúc JSONuse Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
44Ví dụ: để khẳng định rằng các trường
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
430 và use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
432 có thông báo lỗi xác thực đã được đưa vào phiên, bạn có thể gọi phương thức use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
452 như sauuse Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
45Hoặc, bạn có thể khẳng định rằng một trường nhất định có thông báo lỗi xác thực cụ thể
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
46Lưu ý
Phương thức assertInvalid chung hơn có thể được sử dụng để khẳng định rằng phản hồi có lỗi xác thực được trả về dưới dạng JSON hoặc lỗi đã được đưa vào bộ lưu trữ phiên.
khẳng địnhSessionHasErrorsIn
Khẳng định rằng phiên có lỗi đối với
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
448 đã cho trong một túi lỗi cụ thể. Nếu use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
448 là một mảng kết hợp, hãy xác nhận rằng phiên chứa thông báo lỗi [giá trị] cụ thể cho từng trường [khóa], trong túi lỗiuse Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
47khẳng địnhSessionHasNoErrors
Khẳng định rằng phiên không có lỗi xác thực
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
48khẳng địnhSessionDoesntHaveErrors
Khẳng định rằng phiên không có lỗi xác thực đối với các khóa đã cho
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
49Lưu ý
Phương thức assertValid chung hơn có thể được sử dụng để xác nhận rằng phản hồi không có lỗi xác thực được trả về dưới dạng JSON và không có lỗi nào được đưa vào bộ lưu trữ phiên.
khẳng địnhSessionMissing
Khẳng định rằng phiên không chứa khóa đã cho
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
60khẳng định Status
Khẳng định rằng phản hồi có mã trạng thái HTTP nhất định
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
61khẳng định thành công
Xác nhận rằng phản hồi có mã trạng thái HTTP thành công [>= 200 và < 300]
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
62khẳng định trái phép
Xác nhận rằng phản hồi có mã trạng thái HTTP [401] trái phép
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
63khẳng địnhKhông thể xử lý
Xác nhận rằng phản hồi có mã trạng thái HTTP thực thể không thể xử lý [422]
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
64khẳng địnhValid
Khẳng định rằng phản hồi không có lỗi xác thực đối với các khóa đã cho. Phương pháp này có thể được sử dụng để xác nhận các phản hồi trong đó các lỗi xác thực được trả về dưới dạng cấu trúc JSON hoặc khi các lỗi xác thực đã được đưa vào phiên
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
65khẳng địnhKhông hợp lệ
Khẳng định rằng phản hồi có lỗi xác thực đối với các khóa đã cho. Phương pháp này có thể được sử dụng để xác nhận các phản hồi trong đó các lỗi xác thực được trả về dưới dạng cấu trúc JSON hoặc khi các lỗi xác thực đã được đưa vào phiên
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
66Bạn cũng có thể khẳng định rằng một khóa nhất định có thông báo lỗi xác thực cụ thể. Khi làm như vậy, bạn có thể cung cấp toàn bộ tin nhắn hoặc chỉ một phần nhỏ của tin nhắn
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
67khẳng địnhViewHas
Khẳng định rằng chế độ xem phản hồi chứa một phần dữ liệu đã cho
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
68Truyền một bao đóng làm đối số thứ hai cho phương thức
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
455 sẽ cho phép bạn kiểm tra và đưa ra các xác nhận đối với một phần dữ liệu xem cụ thểuse Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
69Ngoài ra, dữ liệu xem có thể được truy cập dưới dạng các biến mảng trên phản hồi, cho phép bạn kiểm tra nó một cách thuận tiện
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
00khẳng địnhViewHasAll
Khẳng định rằng chế độ xem phản hồi có một danh sách dữ liệu nhất định
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
01Phương pháp này có thể được sử dụng để khẳng định rằng chế độ xem chỉ chứa dữ liệu khớp với các khóa đã cho
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
02Hoặc, bạn có thể khẳng định rằng dữ liệu chế độ xem hiện có và có các giá trị cụ thể
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
02khẳng địnhViewIs
Khẳng định rằng chế độ xem đã cho được trả về bởi tuyến đường
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
04khẳng địnhViewMissing
Khẳng định rằng khóa dữ liệu đã cho không được cung cấp cho chế độ xem được trả về trong phản hồi của ứng dụng
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
05Xác nhận xác thực
Laravel cũng cung cấp nhiều xác nhận liên quan đến xác thực mà bạn có thể sử dụng trong các bài kiểm tra tính năng của ứng dụng. Lưu ý rằng các phương thức này được gọi trên chính lớp kiểm tra chứ không phải đối tượng
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
18 được trả về bởi các phương thức như use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
09 và use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
public function test_a_basic_request[]
$response = $this->get['/'];
$response->assertStatus[200];
13