Chạy thử PHP

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.phpt
1 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

./sapi/cli/php run-tests.php ext/mbstring/*
./sapi/cli/php run-tests.php ext/mbstring/020.phpt
1 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.phpt
3 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.phpt
3 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.phpt
5 để 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.phpt
1 thực thi tập lệnh
./sapi/cli/php run-tests.php ext/mbstring/*
./sapi/cli/php run-tests.php ext/mbstring/020.phpt
3 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.phpt
3 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.phpt
3, 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.phpt
1 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.phpt
3 (
./sapi/cli/php run-tests.php ext/mbstring/*
./sapi/cli/php run-tests.php ext/mbstring/020.phpt
1), 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.phpt
6 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.phpt
7, thì
./sapi/cli/php run-tests.php ext/mbstring/*
./sapi/cli/php run-tests.php ext/mbstring/020.phpt
3 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.phpt
9. 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 tra

Kế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.phpt
3 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ự động

Nế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.phpt
1 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.phpt
1 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.phpt
3 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.phpt
1 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.phpt
1 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.phpt
10

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.phpt
11 thay vì
./sapi/cli/php run-tests.php ext/mbstring/*
./sapi/cli/php run-tests.php ext/mbstring/020.phpt
12. Đ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.phpt
13, để 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.