4
我試圖自動化我的測試。作爲煙霧測試,我想在繼續實際單元測試之前用PHPMD檢查我的PHP代碼。聽起來很明智吧?PHPMD捕獲/抑制致命錯誤
的事情是,PHPMD似乎當致命錯誤在我的PHP文件中出現崩潰。對於一個測試,我增加了一個額外的榮譽在函數定義,像這樣:
function foo() {{
// Stuff
}
是我期望的1
退出代碼,PHPMD似乎完全崩潰,而是返回0
退出代碼。呈現我的自動腳本沒用。有沒有辦法抑制這些錯誤並返回預期的退出碼?對於PHPUnit --process-isolation
選項解決了這個問題,但我似乎無法找到PHPMD的這種選項。
相關的自動測試碼
#!/usr/bin/php
<?php
exec('meta/phpmd', $output, $returnCode);
if ($returnCode == 1) {
echo '[Fail] PHP code is breaking', PHP_EOL;
exit(1);
} elseif ($returnCode == 2) {
echo '[Warn] PHP code is unclean', PHP_EOL;
} else {
echo '[OK] Code is clean! ', PHP_EOL;
}