PHP APC не работает в модульных тестах - PullRequest
1 голос
/ 19 сентября 2010

Мы используем пользовательский кеш APC в нашем приложении, но я начал замечать различные проблемы в наших модульных тестах, конкретно связанных с тестами APC.

Похоже, что со временем APC перестает хранить и получать результаты;в то время как большинство тестов продолжают работать правильно (поскольку они просто перестраивают данные, если они не восстанавливаются из кэша), тесты, которые специально проверяют, что кэши очищаются или переполняются, когда они должны быть неудачными, что несколько раздражает.Те же тесты работают нормально, если они выполняются изолированно, а не как часть всего набора тестов).

Вопросы

  • У кого-нибудь еще были подобные проблемы?Кажется, я не могу найти много об этом через Google, кроме проблем с настройкой slam_defence, нарушающих юнит-тесты (что, похоже, не является моей проблемой, так как не отображает никаких сообщений об ошибках для меня).
  • Кто-нибудь знает, как получить больше отладочной информации из APC?Я обнаруживаю ошибку, проверяя код возврата apc_store () и передавая дополнительный параметр успеха в apc_fetch (), но все, что я получаю от этого, - это логическое состояние успеха / неудачи;нет подробностей, по которым я могу продолжить.

1 Ответ

2 голосов
/ 19 сентября 2010

Я думаю, что, возможно, кэш заполнен.В вашем приложении это то, что вы должны уметь обрабатывать (никогда не предполагайте, что элементы существуют в кеше).Я не знаю, как APC кеширует или истекает, так что странно, что «более поздние вещи» не сохраняются.

В случае ваших юнит-тестов вызовет apc_clear_cache ('user') для каждоготестовая работа?

...