Принимая во внимание кэши при написании модульных / функциональных тестов - PullRequest
1 голос
/ 19 октября 2011

Я пишу модульные и функциональные тесты в своем приложении Ruby on Rails. Я пытаюсь написать тест каждый раз, когда кто-то открывает против меня дефект. Один из недавно обнаруженных дефектов был напрямую связан с тем, как мы обновляем кэш для объекта или делаем его недействительным. Нормально ли учитывать кэширование при написании тестов? Я не видел, чтобы это делалось много, но в наши дни так много хранится в таких инструментах, как Redis или Memcached (мы используем Redis). Я думаю, что тестирование для всего, что хранится / извлекается из этих хранилищ в памяти, также должно быть в тестах. Есть ли какие-либо инструменты или советы, которые можно было бы дать для этого в Rails 3?

1 Ответ

0 голосов
/ 19 октября 2011

Кэширование должно быть протестировано на уровне интеграции, особенно если у вас есть несколько уровней кэширования, работающих вместе, поскольку это может быть сложным. Вы также можете написать модульные тесты нижнего уровня, чтобы проверить условия, при которых объект должен быть помечен как устаревший.

Для исправления дефектов я бы предложил сначала попытаться написать интеграционный тест, который воспроизводит ошибку, а затем выполнить модульный тест для соответствующего класса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...