Cách dễ nhất để kiểm tra bản dựng PHP của bạn là chạy ./sapi/cli/php run-tests.php ext/mbstring/* ./sapi/cli/php run-tests.php ext/mbstring/020.phpt1 từ dòng lệnh sau khi biên dịch thành công. Điều này sẽ chạy tất cả các bài kiểm tra cho tất cả các chức năng và tiện ích mở rộng đã bật nằm trong các thư mục kiểm tra trong thư mục gốc nguồn bằng cách sử dụng tệp nhị phân PHP CLI Show ./sapi/cli/php run-tests.php ext/mbstring/* ./sapi/cli/php run-tests.php ext/mbstring/020.phpt1 về cơ bản thực thi tập lệnh ./sapi/cli/php run-tests.php ext/mbstring/* ./sapi/cli/php run-tests.php ext/mbstring/020.phpt3 dưới gốc nguồn (bản dựng song song sẽ không hoạt động). Do đó, bạn có thể thực thi tập lệnh như sau TEST_PHP_EXECUTABLE=sapi/cli/php \ sapi/cli/php [-c /path/to/php.ini] run-tests.php [ext/foo/tests/GLOB] Tập tin thực thi php nào sử dụng thử nghiệm?Nếu bạn đang chạy tập lệnh ./sapi/cli/php run-tests.php ext/mbstring/* ./sapi/cli/php run-tests.php ext/mbstring/020.phpt3 từ dòng lệnh (như trên), bạn phải đặt biến môi trường ./sapi/cli/php run-tests.php ext/mbstring/* ./sapi/cli/php run-tests.php ext/mbstring/020.phpt5 để chọn rõ ràng tệp thực thi PHP sẽ được kiểm tra, tức là được sử dụng để chạy tập lệnh kiểm tra Nếu bạn chạy thử nghiệm bằng cách sử dụng make test, các tệp thực thi PHP CLI và CGI sẽ tự động được đặt cho bạn. ./sapi/cli/php run-tests.php ext/mbstring/* ./sapi/cli/php run-tests.php ext/mbstring/020.phpt1 thực thi tập lệnh ./sapi/cli/php run-tests.php ext/mbstring/* ./sapi/cli/php run-tests.php ext/mbstring/020.phpt3 với nhị phân CLI. Một số tập lệnh kiểm tra như phiên phải được thực thi bởi CGI SAPI. Vì vậy, bạn phải xây dựng PHP với CGI SAPI để thực hiện tất cả các kiểm tra GHI CHÚ. Thực thi nhị phân PHP ./sapi/cli/php run-tests.php ext/mbstring/* ./sapi/cli/php run-tests.php ext/mbstring/020.phpt3 và nhị phân php được sử dụng để thực thi các tập lệnh kiểm tra có thể khác nhau. Nếu bạn sử dụng mã nhị phân PHP khác để thực thi tập lệnh ./sapi/cli/php run-tests.php ext/mbstring/* ./sapi/cli/php run-tests.php ext/mbstring/020.phpt3, bạn có thể gặp lỗi php nào. ini được sử dụng?./sapi/cli/php run-tests.php ext/mbstring/* ./sapi/cli/php run-tests.php ext/mbstring/020.phpt1 sử dụng cùng một php. ini như khi nó được cài đặt. Các bài kiểm tra đã được viết độc lập với php đó. ini, vì vậy nếu bạn tìm thấy một bài kiểm tra bị ảnh hưởng bởi một cài đặt, vui lòng báo cáo điều này để chúng tôi có thể giải quyết vấn đề Những tập lệnh thử nghiệm nào được thực thi?./sapi/cli/php run-tests.php ext/mbstring/* ./sapi/cli/php run-tests.php ext/mbstring/020.phpt3 ( ./sapi/cli/php run-tests.php ext/mbstring/* ./sapi/cli/php run-tests.php ext/mbstring/020.phpt1), không có bất kỳ đối số nào sẽ thực thi tất cả các tập lệnh kiểm tra bằng cách trích xuất tất cả các thư mục có tên ./sapi/cli/php run-tests.php ext/mbstring/* ./sapi/cli/php run-tests.php ext/mbstring/020.phpt6 từ thư mục gốc và bất kỳ thư mục con nào bên dưới. Nếu có các tệp có phần mở rộng ./sapi/cli/php run-tests.php ext/mbstring/* ./sapi/cli/php run-tests.php ext/mbstring/020.phpt7, thì ./sapi/cli/php run-tests.php ext/mbstring/* ./sapi/cli/php run-tests.php ext/mbstring/020.phpt3 sẽ xem xét các phần trong các tệp này, xác định xem nó có nên chạy nó hay không bằng cách đánh giá phần ./sapi/cli/php run-tests.php ext/mbstring/* ./sapi/cli/php run-tests.php ext/mbstring/020.phpt9. Nếu thử nghiệm đủ điều kiện để thực thi, phần ext/myext/tests/myext.php - actual test file executed ext/myext/tests/myext.log - log of test execution (L) ext/myext/tests/myext.exp - expected output (E) ext/myext/tests/myext.out - output from test script (O) ext/myext/tests/myext.diff - diff of .out and .exp (D)0 được trích xuất thành tệp ext/myext/tests/myext.php - actual test file executed ext/myext/tests/myext.log - log of test execution (L) ext/myext/tests/myext.exp - expected output (E) ext/myext/tests/myext.out - output from test script (O) ext/myext/tests/myext.diff - diff of .out and .exp (D)1 (có cùng tên bên cạnh phần mở rộng) và được thực thi. Khi một đối số được đưa ra hoặc biến môi trường TESTS được đặt, GLOB được mở rộng bởi shell và bất kỳ tệp nào có phần mở rộng ext/myext/tests/myext.php - actual test file executed ext/myext/tests/myext.log - log of test execution (L) ext/myext/tests/myext.exp - expected output (E) ext/myext/tests/myext.out - output from test script (O) ext/myext/tests/myext.diff - diff of .out and .exp (D)2 đều được coi là tệp thử nghiệm Người kiểm tra có thể dễ dàng thực hiện các bài kiểm tra một cách có chọn lọc như sau ./sapi/cli/php run-tests.php ext/mbstring/* ./sapi/cli/php run-tests.php ext/mbstring/020.phpt Kết quả kiểm traKết quả kiểm tra được in ra đầu ra tiêu chuẩn. Nếu có một bài kiểm tra thất bại, tập lệnh ./sapi/cli/php run-tests.php ext/mbstring/* ./sapi/cli/php run-tests.php ext/mbstring/020.phpt3 sẽ lưu kết quả, kết quả mong đợi và mã được thực thi vào thư mục tập lệnh kiểm tra. Ví dụ: nếu ext/myext/tests/myext. phpt không vượt qua được, các tệp sau được tạo ext/myext/tests/myext.php - actual test file executed ext/myext/tests/myext.log - log of test execution (L) ext/myext/tests/myext.exp - expected output (E) ext/myext/tests/myext.out - output from test script (O) ext/myext/tests/myext.diff - diff of .out and .exp (D) Các bài kiểm tra thất bại luôn là lỗi. Thử nghiệm bị lỗi hoặc không xem xét các yếu tố áp dụng cho môi trường của người thử nghiệm hoặc có lỗi trong PHP. Nếu đây là lỗi đã biết, chúng tôi sẽ cố gắng cung cấp số lỗi, trong tên thử nghiệm hoặc tên tệp. Bạn có thể kiểm tra trạng thái của một lỗi như vậy bằng cách truy cập. https. // lỗi. php. net/12345 trong đó 12345 là số lỗi. Để rõ ràng và xử lý tự động, số lỗi được bắt đầu bằng dấu thăng '#' trong tên thử nghiệm và/hoặc trường hợp thử nghiệm được đặt tên là bug12345. phpt GHI CHÚ. Các tệp được tạo bởi các bài kiểm tra có thể được chọn bằng cách đặt biến môi trường TEST_PHP_LOG_FORMAT. Đối với mỗi tệp bạn muốn tạo, hãy sử dụng ký tự trong ngoặc như hình trên (mặc định là LEOD). Tệp php sẽ được tạo luôn GHI CHÚ. Bạn có thể đặt biến môi trường TEST_PHP_DETAILED để bật thông tin kiểm tra chi tiết kiểm thử tự độngNếu bạn muốn bắt kịp tốc độ, với những phát triển mới nhất và đảm bảo chất lượng, hãy đặt biến môi trường NO_INTERACTION thành 1, sẽ không nhắc người kiểm tra về bất kỳ thông tin đầu vào nào của người dùng Thông thường, trạng thái thoát của ./sapi/cli/php run-tests.php ext/mbstring/* ./sapi/cli/php run-tests.php ext/mbstring/020.phpt1 là 0, bất kể kết quả của các bài kiểm tra độc lập. Đặt biến môi trường REPORT_EXIT_STATUS thành 1 và ./sapi/cli/php run-tests.php ext/mbstring/* ./sapi/cli/php run-tests.php ext/mbstring/020.phpt1 sẽ đặt trạng thái thoát ("$?") thành khác 0, khi một thử nghiệm riêng lẻ không thành công Tập lệnh mẫu được chạy bởi cron ========== qa-test.sh ============= #!/bin/sh CO_DIR=$HOME/cvs/php7 [email protected] TMPDIR=/var/tmp TODAY=`date +"%Y%m%d"` # Make sure compilation environment is correct CONFIGURE_OPTS='--disable-all --enable-cli --with-pcre' export MAKE=gmake export CC=gcc # Set test environment export NO_INTERACTION=1 export REPORT_EXIT_STATUS=1 cd $CO_DIR cvs update . >>$TMPDIR/phpqatest.$TODAY ./cvsclean ; ./buildconf ; ./configure $CONFIGURE_OPTS ; $MAKE $MAKE test >>$TMPDIR/phpqatest.$TODAY 2>&1 if test $? -gt 0 then cat $TMPDIR/phpqatest.$TODAY | mail -s"PHP-QA Test Failed for $TODAY" $MYMAIL fi ========== end of qa-test.sh ============= GHI CHÚ. Trạng thái thoát của ./sapi/cli/php run-tests.php ext/mbstring/* ./sapi/cli/php run-tests.php ext/mbstring/020.phpt3 sẽ là 1 khi REPORT_EXIT_STATUS được đặt. Kết quả của ./sapi/cli/php run-tests.php ext/mbstring/* ./sapi/cli/php run-tests.php ext/mbstring/020.phpt1 có thể cao hơn thế. Hiện tại, gmake 3. 79. 1 trả về 2, vì vậy nên kiểm tra giá trị khác không, thay vì một giá trị cụ thể Khi ./sapi/cli/php run-tests.php ext/mbstring/* ./sapi/cli/php run-tests.php ext/mbstring/020.phpt1 chạy thử nghiệm xong và nếu có bất kỳ thử nghiệm nào không thành công, tập lệnh sẽ yêu cầu gửi nhật ký đến danh sách gửi thư PHP QA. Vui lòng trả lời ext/myext/tests/myext.php - actual test file executed ext/myext/tests/myext.log - log of test execution (L) ext/myext/tests/myext.exp - expected output (E) ext/myext/tests/myext.out - output from test script (O) ext/myext/tests/myext.diff - diff of .out and .exp (D)9 cho câu hỏi này để chúng tôi có thể xử lý kết quả một cách hiệu quả, việc nhập địa chỉ email của bạn (địa chỉ này sẽ không được chuyển dưới dạng văn bản rõ ràng đến bất kỳ danh sách nào) để chúng tôi có thể hỏi bạn thêm một số thông tin nếu bài kiểm tra không thành công. Lưu ý rằng tập lệnh này cũng tải lên đầu ra ========== qa-test.sh ============= #!/bin/sh CO_DIR=$HOME/cvs/php7 [email protected] TMPDIR=/var/tmp TODAY=`date +"%Y%m%d"` # Make sure compilation environment is correct CONFIGURE_OPTS='--disable-all --enable-cli --with-pcre' export MAKE=gmake export CC=gcc # Set test environment export NO_INTERACTION=1 export REPORT_EXIT_STATUS=1 cd $CO_DIR cvs update . >>$TMPDIR/phpqatest.$TODAY ./cvsclean ; ./buildconf ; ./configure $CONFIGURE_OPTS ; $MAKE $MAKE test >>$TMPDIR/phpqatest.$TODAY 2>&1 if test $? -gt 0 then cat $TMPDIR/phpqatest.$TODAY | mail -s"PHP-QA Test Failed for $TODAY" $MYMAIL fi ========== end of qa-test.sh =============0 để tên máy chủ của bạn có thể được truyền đi Các thử nghiệm cụ thể cũng có thể được thực thi, chẳng hạn như chạy thử nghiệm cho một phần mở rộng nhất định. Để làm điều này, bạn có thể làm như vậy (ví dụ: thư viện tiêu chuẩn). ========== qa-test.sh ============= #!/bin/sh CO_DIR=$HOME/cvs/php7 [email protected] TMPDIR=/var/tmp TODAY=`date +"%Y%m%d"` # Make sure compilation environment is correct CONFIGURE_OPTS='--disable-all --enable-cli --with-pcre' export MAKE=gmake export CC=gcc # Set test environment export NO_INTERACTION=1 export REPORT_EXIT_STATUS=1 cd $CO_DIR cvs update . >>$TMPDIR/phpqatest.$TODAY ./cvsclean ; ./buildconf ; ./configure $CONFIGURE_OPTS ; $MAKE $MAKE test >>$TMPDIR/phpqatest.$TODAY 2>&1 if test $? -gt 0 then cat $TMPDIR/phpqatest.$TODAY | mail -s"PHP-QA Test Failed for $TODAY" $MYMAIL fi ========== end of qa-test.sh =============1. Trong đó ========== qa-test.sh ============= #!/bin/sh CO_DIR=$HOME/cvs/php7 [email protected] TMPDIR=/var/tmp TODAY=`date +"%Y%m%d"` # Make sure compilation environment is correct CONFIGURE_OPTS='--disable-all --enable-cli --with-pcre' export MAKE=gmake export CC=gcc # Set test environment export NO_INTERACTION=1 export REPORT_EXIT_STATUS=1 cd $CO_DIR cvs update . >>$TMPDIR/phpqatest.$TODAY ./cvsclean ; ./buildconf ; ./configure $CONFIGURE_OPTS ; $MAKE $MAKE test >>$TMPDIR/phpqatest.$TODAY 2>&1 if test $? -gt 0 then cat $TMPDIR/phpqatest.$TODAY | mail -s"PHP-QA Test Failed for $TODAY" $MYMAIL fi ========== end of qa-test.sh =============2 trỏ đến một thư mục chứa các tệp ========== qa-test.sh ============= #!/bin/sh CO_DIR=$HOME/cvs/php7 [email protected] TMPDIR=/var/tmp TODAY=`date +"%Y%m%d"` # Make sure compilation environment is correct CONFIGURE_OPTS='--disable-all --enable-cli --with-pcre' export MAKE=gmake export CC=gcc # Set test environment export NO_INTERACTION=1 export REPORT_EXIT_STATUS=1 cd $CO_DIR cvs update . >>$TMPDIR/phpqatest.$TODAY ./cvsclean ; ./buildconf ; ./configure $CONFIGURE_OPTS ; $MAKE $MAKE test >>$TMPDIR/phpqatest.$TODAY 2>&1 if test $? -gt 0 then cat $TMPDIR/phpqatest.$TODAY | mail -s"PHP-QA Test Failed for $TODAY" $MYMAIL fi ========== end of qa-test.sh =============3 hoặc một tệp ========== qa-test.sh ============= #!/bin/sh CO_DIR=$HOME/cvs/php7 [email protected] TMPDIR=/var/tmp TODAY=`date +"%Y%m%d"` # Make sure compilation environment is correct CONFIGURE_OPTS='--disable-all --enable-cli --with-pcre' export MAKE=gmake export CC=gcc # Set test environment export NO_INTERACTION=1 export REPORT_EXIT_STATUS=1 cd $CO_DIR cvs update . >>$TMPDIR/phpqatest.$TODAY ./cvsclean ; ./buildconf ; ./configure $CONFIGURE_OPTS ; $MAKE $MAKE test >>$TMPDIR/phpqatest.$TODAY 2>&1 if test $? -gt 0 then cat $TMPDIR/phpqatest.$TODAY | mail -s"PHP-QA Test Failed for $TODAY" $MYMAIL fi ========== end of qa-test.sh =============3 duy nhất như. ========== qa-test.sh ============= #!/bin/sh CO_DIR=$HOME/cvs/php7 [email protected] TMPDIR=/var/tmp TODAY=`date +"%Y%m%d"` # Make sure compilation environment is correct CONFIGURE_OPTS='--disable-all --enable-cli --with-pcre' export MAKE=gmake export CC=gcc # Set test environment export NO_INTERACTION=1 export REPORT_EXIT_STATUS=1 cd $CO_DIR cvs update . >>$TMPDIR/phpqatest.$TODAY ./cvsclean ; ./buildconf ; ./configure $CONFIGURE_OPTS ; $MAKE $MAKE test >>$TMPDIR/phpqatest.$TODAY 2>&1 if test $? -gt 0 then cat $TMPDIR/phpqatest.$TODAY | mail -s"PHP-QA Test Failed for $TODAY" $MYMAIL fi ========== end of qa-test.sh =============5. Bạn cũng có thể chuyển các tùy chọn trực tiếp tới tập lệnh nền chạy bộ thử nghiệm ( ========== qa-test.sh ============= #!/bin/sh CO_DIR=$HOME/cvs/php7 [email protected] TMPDIR=/var/tmp TODAY=`date +"%Y%m%d"` # Make sure compilation environment is correct CONFIGURE_OPTS='--disable-all --enable-cli --with-pcre' export MAKE=gmake export CC=gcc # Set test environment export NO_INTERACTION=1 export REPORT_EXIT_STATUS=1 cd $CO_DIR cvs update . >>$TMPDIR/phpqatest.$TODAY ./cvsclean ; ./buildconf ; ./configure $CONFIGURE_OPTS ; $MAKE $MAKE test >>$TMPDIR/phpqatest.$TODAY 2>&1 if test $? -gt 0 then cat $TMPDIR/phpqatest.$TODAY | mail -s"PHP-QA Test Failed for $TODAY" $MYMAIL fi ========== end of qa-test.sh =============6) bằng cách sử dụng ========== qa-test.sh ============= #!/bin/sh CO_DIR=$HOME/cvs/php7 [email protected] TMPDIR=/var/tmp TODAY=`date +"%Y%m%d"` # Make sure compilation environment is correct CONFIGURE_OPTS='--disable-all --enable-cli --with-pcre' export MAKE=gmake export CC=gcc # Set test environment export NO_INTERACTION=1 export REPORT_EXIT_STATUS=1 cd $CO_DIR cvs update . >>$TMPDIR/phpqatest.$TODAY ./cvsclean ; ./buildconf ; ./configure $CONFIGURE_OPTS ; $MAKE $MAKE test >>$TMPDIR/phpqatest.$TODAY 2>&1 if test $? -gt 0 then cat $TMPDIR/phpqatest.$TODAY | mail -s"PHP-QA Test Failed for $TODAY" $MYMAIL fi ========== end of qa-test.sh =============2, ví dụ: để kiểm tra rò rỉ bộ nhớ bằng Valgrind, tùy chọn ========== qa-test.sh ============= #!/bin/sh CO_DIR=$HOME/cvs/php7 [email protected] TMPDIR=/var/tmp TODAY=`date +"%Y%m%d"` # Make sure compilation environment is correct CONFIGURE_OPTS='--disable-all --enable-cli --with-pcre' export MAKE=gmake export CC=gcc # Set test environment export NO_INTERACTION=1 export REPORT_EXIT_STATUS=1 cd $CO_DIR cvs update . >>$TMPDIR/phpqatest.$TODAY ./cvsclean ; ./buildconf ; ./configure $CONFIGURE_OPTS ; $MAKE $MAKE test >>$TMPDIR/phpqatest.$TODAY 2>&1 if test $? -gt 0 then cat $TMPDIR/phpqatest.$TODAY | mail -s"PHP-QA Test Failed for $TODAY" $MYMAIL fi ========== end of qa-test.sh =============8 có thể được chuyển cùng. ========== qa-test.sh ============= #!/bin/sh CO_DIR=$HOME/cvs/php7 [email protected] TMPDIR=/var/tmp TODAY=`date +"%Y%m%d"` # Make sure compilation environment is correct CONFIGURE_OPTS='--disable-all --enable-cli --with-pcre' export MAKE=gmake export CC=gcc # Set test environment export NO_INTERACTION=1 export REPORT_EXIT_STATUS=1 cd $CO_DIR cvs update . >>$TMPDIR/phpqatest.$TODAY ./cvsclean ; ./buildconf ; ./configure $CONFIGURE_OPTS ; $MAKE $MAKE test >>$TMPDIR/phpqatest.$TODAY 2>&1 if test $? -gt 0 then cat $TMPDIR/phpqatest.$TODAY | mail -s"PHP-QA Test Failed for $TODAY" $MYMAIL fi ========== end of qa-test.sh =============9. Để có danh sách đầy đủ các tùy chọn có thể được chuyển qua, hãy chạy ./sapi/cli/php run-tests.php ext/mbstring/* ./sapi/cli/php run-tests.php ext/mbstring/020.phpt10 người dùng Windows. Trên Windows lệnh make được gọi là ./sapi/cli/php run-tests.php ext/mbstring/* ./sapi/cli/php run-tests.php ext/mbstring/020.phpt11 thay vì ./sapi/cli/php run-tests.php ext/mbstring/* ./sapi/cli/php run-tests.php ext/mbstring/020.phpt12. Điều này có nghĩa là trên Windows, bạn sẽ phải chạy ./sapi/cli/php run-tests.php ext/mbstring/* ./sapi/cli/php run-tests.php ext/mbstring/020.phpt13, để chạy bộ thử nghiệm Làm cách nào để chạy thử nghiệm PHP?Cách chạy thử nghiệm trong PHPUnit. Bạn có thể chạy tất cả các thử nghiệm trong một thư mục bằng cách sử dụng tệp nhị phân PHPUnit được cài đặt trong thư mục nhà cung cấp của bạn . Bạn cũng có thể chạy thử nghiệm đơn lẻ bằng cách cung cấp đường dẫn đến tệp thử nghiệm. Bạn sử dụng cờ --verbose để biết thêm thông tin về trạng thái kiểm tra.
Làm cách nào để chạy trường hợp kiểm tra PHPUnit?Để chạy thử nghiệm đơn vị, nhấp vào mũi tên bên cạnh nút Chạy trên Thanh công cụ và chọn Chạy dưới dạng. Kiểm tra PHPUnit . Từ thanh Menu, chọn Run. Chạy như. Kiểm tra đơn vị PHP. Để gỡ lỗi Trường hợp kiểm tra PHPUnit, nhấp vào mũi tên bên cạnh nút gỡ lỗi trên thanh công cụ và chọn Gỡ lỗi dưới dạng. Kiểm tra đơn vị PHP.
Làm cách nào để kiểm tra PHP trong trình duyệt?Nếu bạn muốn chạy nó, mở bất kỳ trình duyệt web nào và nhập “localhost/demo. php” và nhấn enter . Chương trình của bạn sẽ chạy. |