Là trường hợp yêu cầu php

PHP là ngôn ngữ kịch bản máy chủ và là công cụ mạnh mẽ để tạo các trang Web động và tương tác

PHP là một giải pháp thay thế được sử dụng rộng rãi, miễn phí và hiệu quả cho các đối thủ cạnh tranh như ASP của Microsoft

Bắt đầu học PHP ngay bây giờ »

Học dễ dàng với "PHP Tryit"

Với trình chỉnh sửa "PHP Tryit" trực tuyến của chúng tôi, bạn có thể chỉnh sửa mã PHP và nhấp vào nút để xem kết quả

Thí dụ



echo "Tập lệnh PHP đầu tiên của tôi. ";
?>


Tự mình thử »

Nhấp vào nút "Tự dùng thử" để xem nó hoạt động như thế nào

Bài tập PHP

Kiểm tra bản thân với các bài tập

Tập thể dục

Chèn phần còn thiếu của mã bên dưới để xuất "Xin chào thế giới"


Cung cấp câu trả lời "

Ví dụ PHP

Tìm hiểu bằng các ví dụ. Hướng dẫn này bổ sung tất cả các giải thích với các ví dụ rõ ràng

Xem tất cả các ví dụ về PHP

Bài kiểm tra PHP

Học bằng cách làm bài kiểm tra. Bài kiểm tra này sẽ cung cấp cho bạn tín hiệu về mức độ bạn biết hoặc không biết về PHP

Bắt đầu bài kiểm tra PHP

Việc học của tôi

Theo dõi tiến trình của bạn với chương trình "Học tập của tôi" miễn phí tại W3Schools

Đăng nhập vào tài khoản của bạn và bắt đầu kiếm điểm

Đây là một tính năng tùy chọn. Bạn có thể học W3Schools mà không cần sử dụng My Learning


Tài liệu tham khảo PHP

Tài liệu tham khảo PHP của W3Schools chứa các danh mục khác nhau của tất cả các hàm, từ khóa và hằng số PHP, cùng với các ví dụ

Cấu trúc điều khiển là gì?

Thực thi mã có thể được nhóm thành các danh mục như bên dưới
  • Tuần tự – quy trình này liên quan đến việc thực thi tất cả các mã theo thứ tự chúng được viết
  • Quyết định – quyết định này liên quan đến việc đưa ra lựa chọn trước một số tùy chọn. Mã được thực thi phụ thuộc vào giá trị của điều kiện
Cấu trúc điều khiển là một khối mã quyết định đường dẫn thực thi của chương trình tùy thuộc vào giá trị của điều kiện đã đặt. Bây giờ chúng ta hãy xem xét một số cấu trúc điều khiển mà PHP hỗ trợ

PHP NẾU Khác

Nếu… thì. khác là cấu trúc điều khiển đơn giản nhất. Nó đánh giá các điều kiện bằng logic Boolean Khi nào thì sử dụng if… then… other
  • Bạn có một khối mã chỉ được thực thi nếu một điều kiện nhất định là đúng
  • Bạn có hai lựa chọn, và bạn phải chọn một
  • If… then… other if… được sử dụng khi bạn phải chọn nhiều hơn hai tùy chọn và bạn phải chọn một hoặc nhiều tùy chọn
Cú pháp Cú pháp của if… then… other là;TẠI ĐÂY,
  • “nếu [điều kiện là đúng]” là cấu trúc điều khiển
  • “khối một” là mã sẽ được thực thi nếu điều kiện là đúng
  • {…else…} là phương án dự phòng nếu điều kiện sai
  • “khối hai” là khối mã được thực thi nếu điều kiện sai
Cách thức hoạt động Biểu đồ quy trình hiển thị bên dưới minh họa cách thức hoạt động của cấu trúc điều khiển if then… else Hãy xem hoạt động của cấu trúc này Mã bên dưới sử dụng “if… then… else” để xác định giá trị lớn hơn giữa hai số.
 $second_number]{

echo "$first_number is greater than $second_number";

}else{

echo "$second_number is greater than $first_number";

}

?>
Đầu ra.
21 is greater than 7

Trường hợp chuyển đổi PHP

Switch…case tương tự như cấu trúc điều khiển if then…else. Nó chỉ thực thi một khối mã duy nhất tùy thuộc vào giá trị của điều kiện. Nếu không có điều kiện nào được đáp ứng thì khối mã mặc định sẽ được thực thi. Nó có cú pháp cơ bản sau. NƠI ĐÂY,
  • “switch[…]{…}” là mã khối cấu trúc điều khiển
  • “giá trị trường hợp. case…” là các khối mã được thực thi tùy thuộc vào giá trị của điều kiện
  • "mặc định. ” là khối mã sẽ được thực thi khi không có giá trị nào khớp với điều kiện
Cách thức hoạt động Biểu đồ dòng dưới đây minh họa cách thức hoạt động của cấu trúc điều khiển công tắc Ví dụ thực tế Đoạn mã bên dưới sử dụng cấu trúc điều khiển công tắc để hiển thị thông báo tùy thuộc vào ngày trong tuần. đầu ra.
ladies night, take her out for dinner
Tóm tắt
  • Các cấu trúc điều khiển được sử dụng để điều khiển việc thực hiện chương trình
  • nếu thì. khác là khi bạn có nhiều khối mã định tuyến để thực thi tùy thuộc vào giá trị của điều kiện
  • Trường hợp chuyển đổi… được sử dụng khi bạn có một số mã khối và bạn chỉ phải thực thi một trong số chúng tùy thuộc vào giá trị của trường hợp đã đặt

Biết rằng Unit Test quan trọng và mang lại nhiều lợi ích là thế nhưng việc áp dụng, thực hiện như thế nào cho đúng và hiệu quả là một điều không hề dễ dàng

Bài viết này là bài đầu tiên trong chuỗi bài hướng dẫn thực thi Unit Test trong PHP, được dịch từ blog của tác giả Juan Treminio. Đây có thể là hướng dẫn chi tiết nhất mà tôi đọc được. Bài dịch có một số cập nhật về phiên bản của PHP và PHPUnit so với blog của tác giả. Dưới đây là liên kết đến các phần khác của hướng dẫn [sẽ cập nhật liên kết khi viết xong]

  • Bài kiểm tra đơn vị PHP 101. Giới thiệu về PHPUnit
  • Bài kiểm tra đơn vị PHP 201. Làm quen với Test case, Assertions và nhà cung cấp dữ liệu
  • Bài kiểm tra đơn vị PHP 301. Kiểm tra các phương thức Protected/Private
  • Kiểm tra đơn vị PHP 401. Create report Coverage Reports and only number CRAP
  • Kiểm tra đơn vị PHP 501. Sử dụng Mock Objects, Stub Methods và Dependency Injection
  • Kiểm tra đơn vị PHP 601. Mock Methods và Constructor Overriding

Loạt bài này sẽ giới thiệu cho bạn các khái niệm cơ bản về thử nghiệm. Nó sẽ cho bạn biết vì sao việc sử dụng

composer require --dev phpunit/phpunit ^6.2
4 là không tốt, tại sao
composer require --dev phpunit/phpunit ^6.2
5 tuyệt vời, sự khác biệt giữa
composer require --dev phpunit/phpunit ^6.2
6 và
composer require --dev phpunit/phpunit ^6.2
7 và làm thế nào để yêu cái thanh màu đỏ, xanh ấy

Tôi cũng sẽ đề cập một chút đến Phát triển dựa trên thử nghiệm [TDD] nhưng sẽ không tập trung nhiều vào nó vì tôi nghĩ rằng để mã của bạn trở nên có thể kiểm tra được và làm sao để kiểm tra nó một cách chính xác đã là một thử nghiệm đầy đủ

Bài viết sẽ không nói nhiều về công việc tại sao bạn nên viết thử nghiệm, tại sao thử nghiệm là cần thiết và những lợi ích của thử nghiệm. Nếu bạn không muốn biết thông tin về những điều đó, tôi khuyên bạn nên đọc cuốn sách Các giải pháp trong thế giới thực để phát triển các ứng dụng và khung công tác PHP chất lượng cao của Sebastian Bergmann và ghé thăm blog của bạn thân tôi Chris Hartjes, blog của Lập trình viên Grumpy, . Ngoài ra, trên Viblo cũng đã có rất nhiều bài viết trên bàn về Unit Test, các bạn rất nên đọc qua

  • Tản mạn về Kiểm tra
  • Vai trò của Unit Test
  • Viết bài kiểm tra đơn vị tuyệt vời

Before when started

Bài viết giả sử bạn đã cài đặt PHP. Tôi rất khuyến khích bạn nên sử dụng một máy ảo dành riêng cho môi trường phát triển thay vì thiết lập nó ngay trên hệ thống điều hành của bạn. Bạn có thể đọc qua bài viết Thiết lập máy ảo Debian, Từng bước, hướng dẫn từng bước sử dụng Virtual Box để thiết lập PHP và máy chủ web trên Debian, hoặc tham khảo các bài viết trên Viblo về sử dụng Docker để tạo môi trường

Chúng ta cũng sẽ sử dụng dòng lệnh để chạy PHPUnit. Nếu bạn đang làm quen với việc làm mọi thứ trên giao diện GUI, thì đây cũng là khoảng thời gian để bạn làm quen với Terminal

Cài đặt PHPUNIT

PHPUnit 6. 2 yêu cầu PHP 7 và các thư viện

composer require --dev phpunit/phpunit ^6.2
8,
composer require --dev phpunit/phpunit ^6.2
9 và mbstring, thường được cài đặt mặc định khi cài đặt PHP. Check traping by way

php -r 'print_r[get_loaded_extensions[]];'

Nếu chưa có, hãy cài đặt thêm vào, vd đối với Ubuntu ^16. 04

21 is greater than 7
0

Tính năng tạo báo cáo Bảo hiểm mã yêu cầu Xdebug [hướng dẫn cài đặt, bài viết giới thiệu của tác giả] [phiên bản 2. 5. 0 hoặc mới hơn] và thư viện

21 is greater than 7
10 [đã có sẵn khi cài đặt PHP]

Cách đơn giản nhất là cài đặt thông qua Composer. Nếu bạn không biết Composer là gì hay cách sử dụng nó thì bạn nên đọc bài viết, Composer Namespaces trong 5 phút. Nó giới thiệu bạn với Composer nói chung và cách sử dụng PSR-0 cho việc tải tự động

Cài đặt

composer require --dev phpunit/phpunit ^6.2

Chạy PHPUnit

Sau khi cài đặt xong, hãy chú ý đến tệp

21 is greater than 7
11. Đây là file dùng để thực thi PHPUnit. Run command.
21 is greater than 7
11, it will show all the options help.

Cấu trúc dự án

Do chúng ta đang sử dụng Composer nên sẽ cần cấu trúc dự án một chút để nó hoạt động với autoloader. Mã nguồn của tệp sẽ được ghi vào thư mục

21 is greater than 7
13 với không gian tên là
21 is greater than 7
14 và các bài kiểm tra đơn vị sẽ được ghi vào thư mục
21 is greater than 7
15 với không gian tên là
21 is greater than 7
16

Cập nhật tệp

21 is greater than 7
17 của bạn như sau

21 is greater than 7
1

Sau đó run command to update autoloader

ladies night, take her out for dinner
1

Như vậy cấu trúc project của chúng ta như sau

ladies night, take her out for dinner
2

Cấu hình file phpunit. xml

Bạn có thể sử dụng các tùy chọn trong dòng lệnh để cấu hình cho phpunit tuy nhiên có 1 cách đơn giản hơn đó là sử dụng tệp cấu hình

21 is greater than 7
18

Trong thư mục gốc

21 is greater than 7
19 tạo tệp
21 is greater than 7
18

ladies night, take her out for dinner
6

Đây là tệp cấu hình đơn giản nhất, tuy nhiên có 2 điểm quan trọng

  • ladies night, take her out for dinner
    11 làm cho kết quả kiểm tra được bôi trơn màu
  • ladies night, take her out for dinner
    12 cho PHPUnit biết nơi lưu các bài kiểm tra tệp

CÔNG ƯỚC

Trong loạt bài viết này sẽ có một số quy ước giúp bạn sử dụng PHPUnit dễ dàng hơn, mặc dù có một số quy ước là không bắt buộc

Constructor and name file

Quy ước đầu tiên là về cấu trúc tệp và tên tệp. Các bài kiểm tra tệp nên ánh xạ với mã nguồn tệp tương ứng trong từng thư mục và tên tệp nên được đặt giống với tệp mã nguồn cộng thêm từ

ladies night, take her out for dinner
13 ở sau. Ví dụ, nếu chúng ta có mã nguồn tệp như sau

composer require --dev phpunit/phpunit ^6.2
0

Thì các file tests nên được tổ chức như sau

composer require --dev phpunit/phpunit ^6.2
1

Tên lớp

Tên lớp phải khớp hoàn toàn với tên tệp, điều này cũng nên áp dụng với các mã nguồn tệp khác

Tên phương pháp [thử nghiệm]

Các phương thức trong các lớp kiểm tra nên được bắt đầu với từ

ladies night, take her out for dinner
14 [mặc dù bạn có thể sử dụng chú thích
ladies night, take her out for dinner
15 nhưng nên viết hệ thống nhất theo 1 loại cho đồng bộ]. Tên phương thức nên có tính mô tả cái gì sẽ được kiểm tra trong phương thức đó và cũng nên bao gồm tên phương thức đang được kiểm tra. Tên phương thức không cần phải rút ngắn hoặc viết tắt

Ví dụ, bạn đang kiểm tra phương thức có tên là

ladies night, take her out for dinner
16 và bạn muốn kiểm tra trường hợp mật khẩu khớp với tài khoản, bạn nên đặt tên phương thức trong tệp kiểm tra là
ladies night, take her out for dinner
17

Dòng dài là một lợi ích khi kiểm tra, bởi vì khi bạn có 1 trường hợp kiểm tra không thành công và bạn sẽ có rất nhiều trường hợp kiểm tra không thành công, bạn sẽ thấy phương pháp được đặt tên là gì và biết chính xác trường hợp nào đang bị lỗi

Phương thức công khai

PHPUnit could not run the method test at

ladies night, take her out for dinner
18 or
ladies night, take her out for dinner
19, they must be
ladies night, take her out for dinner
20. Do đó, đối với các phương pháp thử nghiệm hoặc các phương pháp trợ giúp [không hạn chế phương pháp nhà cung cấp dữ liệu phải ở định dạng
ladies night, take her out for dinner
20. Mục đích của chúng ta là viết test thôi nên không cần phải lo lắng về tính đóng gói

Mở rộng PHPUnit

Các bài kiểm tra trên lớp phải là lớp con cháu của lớp

ladies night, take her out for dinner
22

Bài kiểm tra đơn vị đầu tiên

Bài kiểm tra đơn vị đầu tiên của chúng tôi sẽ rút ngắn và ngừng ngu ngốc

nhưng nó sẽ cho bạn biết yêu cầu nhỏ nhất của 1 bài kiểm tra. Tạo 1 tệp
ladies night, take her out for dinner
23.

composer require --dev phpunit/phpunit ^6.2
2

Không có gì đặc biệt cả, chỉ là bạn thấy các quy ước được áp dụng như thế nào thôi

Để thử cho biết, bạn muốn chắc chắn một điều rằng nó có bằng đúng hay không [không hạn chế 1 hàm nào đó có trả về đúng hay không]. Các xác nhận là một trong những phương thức cơ bản được sử dụng trong bài kiểm tra đơn vị và tôi sẽ đề cập đến nó xuyên suốt trong loạt bài này

Còn bây giờ, bạn hãy tạo 1 method tên là

ladies night, take her out for dinner
24. Ngu lắm phải không
?

21 is greater than 7
00

Tiếp theo là đến đoạn mã kiểm tra. Giờ chỉ đơn giản thôi như thế này thôi, chưa cần nghĩ sâu sắc quá

21 is greater than 7
01

quán Đạt Green

Từ thư mục gốc của dự án, chạy PHPUnit.

ladies night, take her out for dinner
25

Vâng, bạn sẽ thấy được cái thanh màu xanh ấy, nó biểu thị tất cả các trường hợp thử nghiệm đã được thông qua. Tuy nhiên cũng không chăm chỉ làm sao để ra được cái màu xanh ấy, không phải viết code thôi để pass mà mục đích ở đây là

ladies night, take her out for dinner
26

Bạn đã chạy 1 file test, 1 test case trong đó có 1 khẳng định

Kết luận

Qua bài này, bạn đã cài đặt được PHPUnit, thiết lập một số cấu hình và chạy thử nghiệm đơn vị [siêu ngu] đầu tiên

Chủ Đề