При тестировании кода, привязанного к HttpContext, вы должны полагаться на абстракции и использовать поддельный / заглушенный контекст http.См. этот вопрос для получения дополнительной информации по теме.
К сожалению, объект кэша (и класс Cache) невозможно легко подделать, так как это закрытый класс.Для этого нужно создать класс-оболочку с соответствующим интерфейсом вокруг объекта Cache и подделать / заглушку / макет в вашем тесте.
Вы можете получить доступ к классу Cache вне веб-приложения, но в этом случаеВы, вероятно, не хотите этого делать.Доступ к кешу может быть сделан путем ссылки на сборку System.Web и использования класса HttpRuntime.
using System.Web;
using System.Web.Caching;
…
Cache cache = HttpRuntime.Cache;