При создании unit test для класса, который использует HttpContext.Current.Cache
class, я получаю сообщение об ошибке при использовании NUnit. Функциональность базовая - проверьте, находится ли элемент в кеше, а если нет, создайте его и поместите в:
if (HttpContext.Current.Cache["Some_Key"] == null) {
myObject = new Object();
HttpContext.Current.Cache.Insert("Some_Key", myObject);
}
else {
myObject = HttpContext.Current.Cache.Get("Some_Key");
}
При вызове этого из unit test он не работает с NullReferenceException
при встрече с первой строкой Cache
. В Java я бы использовал Cactus для проверки кода на стороне сервера. Есть ли аналогичный инструмент, который я могу использовать для кода С#? Этот вопрос SO упоминает макетные рамки - это единственный способ проверить эти методы? Есть ли аналогичный инструмент для запуска тестов для С#?
Кроме того, я не проверяю, является ли Cache
нулевым, поскольку я не хочу писать код специально для unit test и предполагаю, что он всегда будет действителен при работе на сервере. Является ли это допустимым или следует добавить к кешу нулевые проверки?