【问题标题】:How to test a code which uses ini_get with different ini values dynamically with PHPUnit?如何使用 PHPUnit 动态测试使用具有不同 ini 值的 ini_get 的代码?
【发布时间】:2016-07-23 15:54:52
【问题描述】:

我有一个使用ini_get 的代码,并根据其值执行一些额外的逻辑。

我想使用 PHPUnit 测试代码,并为这些 ini 配置设置多组值。那可能吗?怎么样?

代码模拟如下:

function check_upload_limit()
{
    $value = ini_get('post_max_size');

    if (num_bytes($value) < 10 * 1000 * 1000)
    {
        return 'Too small';
    }
    else
    {
        return 'Sufficient';
    }
}

我想用 post_max_size 的几个值对其进行测试。

【问题讨论】:

    标签: php unit-testing phpunit automated-tests


    【解决方案1】:

    不要

    创建一个方法来封装检索 ini_get 并返回结果。 然后在你的测试中模拟那个方法和它的返回值。

    对于您的具体示例,将行 $value = ini_get('post_max_size'); 替换为 $value = $this-&gt;getPostMaxSize(); 其中 getPostMaxSize() 将简单地返回 ini_get('post_max_size')

    【讨论】:

      猜你喜欢
      • 2018-05-24
      • 1970-01-01
      • 2013-01-11
      • 2013-10-01
      • 1970-01-01
      • 2012-12-18
      • 2020-05-02
      • 1970-01-01
      • 2016-07-28
      相关资源
      最近更新 更多