親愛的stackoverflowers, 我們正在開發一個基於cakephp的web應用程序。 CakePHP在TDD方式中使用起來有點難,因此我們試圖通過將所有業務邏輯提取到不依賴於cakephp的類來在自己的框架上開發儘可能少的代碼。因此,我們可以使用phpunit測試我們的庫,而且問題最少。然而,我們確實希望將未經測試的代碼包含在我們的覆蓋報告中,以便更多地關注我們無法測試的Cake和我們的庫之間的膠水代碼量。問題是,當告訴phpunit對這些代碼進行說明時,它會瘋狂地解析並執行cakephp的代碼,並且它慘遭破壞。 我的問題是:爲什麼phpunit完全執行此代碼?我們在這裏沒有理解或做錯嗎? 下面是我們所使用的phpunit.xml文件:爲什麼PHPUnit在生成覆蓋率報告時執行代碼?
<?xml version="1.0" encoding="utf-8" ?>
<phpunit backupGlobals="true"
backupStaticAttributes="false"
colors="true"
convertErrorsToExceptions="true"
convertNoticesToExceptions="true"
convertWarningsToExceptions="true"
processIsolation="false"
stopOnFailure="false"
syntaxCheck="false"
testSuiteLoaderClass="PHPUnit_Runner_StandardTestSuiteLoader">
<filter>
<whitelist addUncoveredFilesFromWhitelist="true">
<directory suffix=".php">app</directory>
<exclude>
<directory suffix=".php">tests</directory>
<directory suffix=".php">app/webroot</directory>
<directory suffix=".php">app/plugins</directory>
<directory suffix=".php">app/vendors</directory>
<directory suffix=".php">app/config</directory>
<directory suffix=".php">app/tmp</directory>
<directory suffix=".php">cake</directory>
<directory suffix=".php">vendors</directory>
</exclude>
</whitelist>
</filter>
</phpunit>
感謝您的幫助。
謝謝蒂莫。我這樣做,它結束了工作正常。儘管最重要的細節是路徑與測試目錄相關,而不是運行ant構建版本的代碼庫的根目錄。這是一個無證的細節,可以幫我節省我們的時間! – edovale 2011-01-20 04:31:43