PHP 主動化測試框架的原理和完成
在清單 3中的運行示例中,實踐的履行語句是 “ $HOME÷php-5。2。8÷sapi÷cli÷php run-tests。php $HOME÷php-5。2。8÷sapi÷cli÷tests÷001。phpt ” 。其中,“ 001。phpt ” 是測試腳本;“ run-tests。php ” 為 PHP 測試的驅動腳本,是民間腳本;而 “ $HOME÷php-5。2。8÷sapi÷cli÷php ” 是運行驅動腳本的 PHP 可履行對象。這里須要指出的一點是,環境變量 TEST_PHP_EXECUTABLE 中設置的 PHP 可履行對象和這里運行測試腳本中的 “ $HOME÷php-5。2。8÷sapi÷cli÷php ” 盡管指向的是同一個可履行對象,但其意義是不一樣的。環境變量 TEST_PHP_EXECUTABLE 中設置的 PHP 是被測試對象,而運行測試中運用的 “ $HOME÷php-5。2。8÷sapi÷cli÷php ” 只是為了用來驅動測試腳本運行。
在圖 1 中能夠詳細的看出 PHP 測試歷程中兩個 PHP 可履行對象及兩個 PHP 腳本的關系。在測試的歷程中,首先是由 “ $HOME÷php-5。2。8÷sapi÷cli÷php ” 去運行腳本 “ run-tests。php ” (第 1 步)。 在 “ run-tests。php ” 腳本中,將解析環境變量的值 “ TEST_PHP_EXECUTABLE =$HOME÷php-5。2。8÷sapi÷cli÷php ” (第 2 步)。這里 PHP 可履行對象是被測試的 PHP ! run-tests。php ” 腳本中還將把測試腳本 “ 001。phpt ” 中的 FILE 段解析為 PHP 腳本 “ 001。php ” (第 3 步), 用 “ TEST_PHP_EXECUTABLE ” 設置的那個 PHP 可履行對象去履行 “ 001。php ” (第 4 步)并得到實踐輸入后果,在比對實踐輸入后果和 EXPECT 段的等待后果后,輸入測試后果(第 5 步)。以上運行歷程能夠從對 “ run-tests。php ” 腳本的剖析中得出。
圖 1。 PHP 測試運行關系圖
通過以上實例剖析能夠看出,PHP 民間測試的主動化重要依靠于 “ run-tests。php ” 腳本和測試用例腳本 PHPT 。而 “ run-tests。php ” 腳本正是 PHP 測試主動化框架的搭建者。從代碼清單 5 中,能夠細微看出 PHP 主動化測試框架的重要責任。
清單 5。 PHP 主動化測試代碼片斷
$test_cnt = count($test_files);
if ($test_cnt) 【
putenv(“NO_INTERACTION=1“);
verify_config();
write_information($html_output);
usort($test_files, “test_sort“);
$start_time = time();
if (!$html_output) 【
echo “Running selected tests。、n“;
】 else 【
show_start($start_time);
】
$test_idx = 0;
run_all_tests($test_files, $environment);
$end_time = time();
if ($html_output) 【
show_end($end_time);
文章來源于領測軟件測試網 http://www.kjueaiud.com/