Danh sách xác nhận PHPUnit

  • 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à

    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);

    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);

    58
  • Các lớp kiểm tra nên kế thừa (hầu hết thời gian) 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);

    59
  • Các bài kiểm tra là các phương thức công khai được đặt 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);

    60. Ngoài ra, bạn có thể sử dụng chú thích

    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 trong docblock của một phương thức để đánh dấu nó là một phương thức thử nghiệm
  • Bên trong các phương thức kiểm tra, các phương thức khẳng định 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);

    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 đợi

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 trong

Thay 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ì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);

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ầ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);

4

Bá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);

9

Phiê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ạ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);

1

Phiê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ù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);

3

Bạ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ệ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);

6

Phả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ồ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);

0

Ngoà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 thi

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);

4

Xử 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ì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);

6

Ngoà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ô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);

0

Kiể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);

1

Ngoà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);

2

Lư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);

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 đã cho.

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);

48

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);

3

Khẳ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);

49

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);

4

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);

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ô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);

5

Kiể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 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);

6

Hiể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

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 JSON

Mụ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);

55

Tuy 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ọi

Xá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);

54

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);

7

Ngoà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ú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);

8

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);

66 để xác định xem có ít nhất một trong danh sách các thuộc tính đã 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);

9

Khẳ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);

40

Trong 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 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);

41

Phạ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);

40

Khi 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ậ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);

43

Tuy 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ậ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);

44

Xá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);

45

Bạ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);

46

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);

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);

86

Kiể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ệ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);

47

Nế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);

89

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);

48

Tù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ạ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);

49

Ngoà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);

95

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);

90

Nế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);

91

Chế độ 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ế độ xem

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);

92

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);

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);

406

Nế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ỗ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);

93

Chia 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);

408

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

Rendering 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);

99

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);

95

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);

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);

415

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

xá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);

16

khẳ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);

97

khẳ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);

98

khẳ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);

99

khẳ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);

10

khẳ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);

11

khẳ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);

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);

12

khẳ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ậ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);

13

khẳ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);

427

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

Nế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);

15

khẳ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);

16

khẳ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);

17

khẳ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);

18

khẳ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);

19

khẳ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);

30

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 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

khẳ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);

31

khẳ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);

32

khẳ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);

33

khẳ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);

34

khẳ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);

35

Lư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);

36

Ví 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ậ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);

37

khẳ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);

38

Ví 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);

431

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

khẳ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);

60

Ví 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ả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);

61

khẳ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);

63

Lư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);

64

khẳ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);

435

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

khẳ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);

66

khẳ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);

67

khẳ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);

68

khẳ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);

69

khẳ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);

00

khẳ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);

01

khẳ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);

02

khẳ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);

03

khẳ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);

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);

04

khẳ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);

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);

05

khẳ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ệ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);

06

khẳ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ệ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);

07

khẳ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);

08

Nế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);

443

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

khẳ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);

40

Nế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);

443

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

khẳ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);

42

Ví 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ậ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);

43

khẳ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 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);

44

Ví 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ư 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);

45

Hoặ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);

46

Lư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ỗ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);

47

khẳ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);

48

khẳ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);

49

Lư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);

60

khẳ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);

61

khẳ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);

62

khẳ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);

63

khẳ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);

64

khẳ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);

65

khẳ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);

66

Bạ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);

67

khẳ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);

68

Truyề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);

69

Ngoà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);

00

khẳ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);

01

Phươ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);

02

Hoặ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);

02

khẳ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);

04

khẳ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);

05

Xá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

Khẳng định trong PHPUnit là gì?

Hàm assertSame() PHPUnit . Xác nhận này sẽ trả về true trong trường hợp nếu giá trị mong đợi giống với giá trị thực tế, ngược lại trả về false. used to assert whether the actually obtained value is the same as the expected value or not. This assertion will return true in the case if the expected value is the same as the actual value else returns false.

Bạn sẽ sử dụng xác nhận nào để kiểm tra xem hai mảng có chứa các phần tử giống nhau không?

Mảng . Phương thức equals() kiểm tra sự bằng nhau của 2 mảng về kích thước, dữ liệu và thứ tự các phần tử. Phương thức này sẽ chấp nhận hai mảng cần được so sánh và nó trả về kết quả boolean true nếu cả hai mảng bằng nhau và false nếu các mảng không bằng nhau.

PHPUnit có phải là một khuôn khổ không?

PHPUnit là khung thử nghiệm dành cho lập trình viên dành cho PHP . Nó là một ví dụ về kiến ​​trúc xUnit cho các khung kiểm tra đơn vị. PHPUnit 9 là phiên bản ổn định hiện tại. PHPUnit 10 hiện đang được phát triển.