我正在为Silex应用程序编写ConfigServiceProvider
,该应用程序将加载应用程序配置(例如" debug" vallue)和其他服务'配置。在这样的提供程序中,我需要从文件系统中读取实际的 yaml 文件,解析它并加载到$app
。这是此提供商的主要目的。但是我该如何测试这段代码呢?我应该测试它,还是我可以模拟功能?
private function /*ConfigServiceProvider::*/parseYamlFile($filename)
{
return $app["yaml.parser"]->parse(file_get_content(
$app["config.locator"]->locate($filename)));
}
答案 0 :(得分:1)
在这种方法中唯一可以测试的是正确的调用。
你通过模拟解析器和配置定位器来测试它,你还需要摆脱file_get_content
调用,使用库,并模拟它。
如果你想检查yaml解析器是否按预期工作,那么你应该为该库编写一个测试。