簡體   English   中英

在PHPUnit中設置白名單

[英]Setting up whitelists in PHPUnit

在為php設置白名單時,我遇到了以下問題:

我在phpunit xml中設置了以下過濾器:

<filter>
    <whitelist>
        <directory suffix=".php">../..</directory>
        <exclude>
            <directory>../../cache</directory>
            <directory>../../public_html</directory>
            <directory>../../temp</directory>
            <directory>../../tools</directory>
        </exclude>
    </whitelist>
</filter>

如果沒有白名單,一切正常,但是當我把它放入時,系統會崩潰,因為它試圖包含所有文件。 這使得它包含一個具有require_once的文件,因此它會使應用程序崩潰。

編輯啟動時,系統定義了一些常量。 由於在包含創建白名單的所有數據時未定義這些常量,因此它嘗試訪問不存在的文件夾(PHP假定常量是字符串),因此require_once失敗,並且給定它是一個require,它崩潰了。

此外,如果有任何幫助,白名單將被用於與Selenium一起使用。 也許這是問題的根源?

那么為了收集代碼覆蓋率信息,系統有點必須要求所有文件,這是預期的行為。 (技術上講,它沒有 ,但它確實)

如果您使用require_once不應該是一個問題,因為phpunit也使用"_once"來要求文件。

我們在充滿require_once語句的代碼庫上使用白名單,我遇到的唯一問題是在兩個地方定義了一個類。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM