繁体   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