如何编写可测试的代码并能够测试它?

时间:2015-09-02 08:37:02

标签: php phpunit silex

我正在为Silex应用程序编写ConfigServiceProvider,该应用程序将加载应用程序配置(例如" debug" vallue)和其他服务'配置。在这样的提供程序中,我需要从文件系统中读取实际的 yaml 文件,解析它并加载到$app。这是此提供商的主要目的。但是我该如何测试这段代码呢?我应该测试它,还是我可以模拟功能?

private function /*ConfigServiceProvider::*/parseYamlFile($filename)
{
    return $app["yaml.parser"]->parse(file_get_content(
        $app["config.locator"]->locate($filename)));
}

1 个答案:

答案 0 :(得分:1)

在这种方法中唯一可以测试的是正确的调用。

你通过模拟解析器和配置定位器来测试它,你还需要摆脱file_get_content调用,使用库,并模拟它。

如果你想检查yaml解析器是否按预期工作,那么你应该为该库编写一个测试。