В моем приложении PHP Zend Framework я использую APC для кэширования определенных повторных запросов к базе данных. Внутри приложения я могу очистить кеш с помощью этой команды: apc_clear_cache('user')
Я также запускаю тесты PHPUnit Selenium для этого приложения. До добавления APC у меня проблем не было. У меня есть тест, который добавляет тестового пользователя в базу данных (в настройке), регистрирует его в приложении (в тесте) и удаляет запись пользователя из базы данных (в раскрытии). Эта же процедура выполняется во всех тестах, так как вы должны войти в систему, чтобы использовать определенные функции приложения. Теперь, когда APC установлен, APC кэширует первого созданного пользователя, но не очищает кэш при повторном создании пользователя, что означает, что вход в систему работает только в первом тесте.
Мне нужно найти способ очистить кеш из моего теста Selenium. Единственный способ, которым я мог придумать, как это сделать, - это создать действие контроллера, которое было бы открыто для общественности, и таким образом из моего теста я мог открыть /cache/clear
, и он очистил бы кэш. Я попробовал этот подход, и он работал, но этот подход не кажется очень практичным, так как любой может получить доступ к этому URL.
Каким должно быть мое решение этой ситуации?