У меня есть простой метод внутри класса, который делает следующее
class ToBeTested
{
public function getLocalSettings()
{
require_once 'local.php';
return (isset($configSetting['foo'])) ? true : false;
}
}
в локальном.php
<?
$configSetting = array(
'foo' => '1',
'bar' => 'false',
);
Я хочу создать модульный тест для getLocalSettings. Я понимаю, что это похоже на внедрение зависимостей, но я не могу понять, как мне написать тест. Кажется, что довольно тривиальный блок кода слишком усложняется тестами, но у меня есть свобода рефакторинга здесь, и я хочу заменить «local.php» своим собственным поставщиком значений/данных для целей тестирования.
ИЗМЕНИТЬ ДЛЯ ЯСНОСТИ/КОММЕНТАРИЙ
Я использовал конфигурацию в качестве образца здесь, но на самом деле мы используем огромный файл, который выводится из базы данных и включается в качестве источника данных и анализируется в этой функции. Я написал упрощенную версию, чтобы не усложнять вопрос, но включенный массив составляет несколько мегабайт, а не «просто файл конфигурации». Решения, которые предлагают разные подходы к обработке файловых конфигураций, к сожалению, бесполезны, но способ внедрения этого массива будет работать очень хорошо (но в какой-то момент мне нужно будет запустить это 'require'.
Спасибо