【问题标题】:Is there a way to provide an array value for globals in phpunit configuration.xml?有没有办法在 phpunit configuration.xml 中为全局变量提供数组值?
【发布时间】:2015-01-31 21:24:45
【问题描述】:

根据https://phpunit.de/manual/current/en/appendixes.configuration.html,我尝试使用phpunit 为$GLOBALS 数组设置一些变量。当我想通过定义将字符串值分配给全局变量时,这很好用:

<phpunit>
    <php>
        <var name="NAME_OF_GLOBAL" value="VALUE_OF_GLOBAL" />
    </php>
</phpunit>

但我无法为单个全局变量提供数组。我的问题是我想提供一个文件数组,为我的数据库测试提供所需的数据集,并且我想避免这个全局变量的 CSV。

我想要实现的基本上是这样的:

<phpunit>
    <php>
        <var name="NAME_OF_GLOBAL">
            <values>
                <value>file1</value>
                <value>file2</value>                    
            </values>
        </var>
    </php>
</phpunit>

但我不确定这是否以及如何实现。有人有想法吗?

【问题讨论】:

    标签: php arrays configuration phpunit


    【解决方案1】:

    如果以 JSON 格式定义值数组呢?

    <phpunit>
        <php>
            <var name="NAME_OF_GLOBAL" value="['file1', 'file2']" />
        </php>
    </phpunit>
    

    在你的测试中,你得到了 json_decode($GLOBALS['NAME_OF_GLOBAL'], true) 的数组?这个我没测试过,你可以试试。

    【讨论】:

    • 嗨,谢谢,如果没有其他解决方案,我想我会这样做。
    • 另一种方法是序列化字符串,您可以使用 unserialize() 。但在我看来,JSON 字符串更具可读性。
    猜你喜欢
    • 1970-01-01
    • 2011-04-23
    • 2017-09-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-23
    • 1970-01-01
    • 2020-01-07
    • 1970-01-01
    相关资源
    最近更新 更多