在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语句的代码库上使用白名单,而我遇到的唯一问题是在两个地方定义了一个类.

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...