При создании модульного теста для класса, который использует HttpContext.Current.Cache
класс , я получаю сообщение об ошибке при использовании 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");
}
При вызове этого из модульного теста происходит сбой при значении NullReferenceException
при обнаружении первой строки Cache
. В Java я бы использовал Cactus для тестирования серверного кода. Есть ли подобный инструмент, который я могу использовать для кода C #? Этот вопрос SO упоминает фиктивные рамки - это единственный способ проверить эти методы? Есть ли подобный инструмент для запуска тестов на C #?
Кроме того, я не проверяю, является ли Cache
нулевым, поскольку я не хочу писать код специально для модульного теста и предполагаю, что он всегда будет действительным при работе на сервере. Это допустимо, или я должен добавить нулевые проверки вокруг кэша?