Я думаю, при написании некоторых модульных тестов для приложения, чтобы встроить в мои классы интуитивно понятные методы, которые отображаются по-разному в зависимости от того, какой "класс" вызвал метод.
Итак, я нахожусь в классе NUnit, и мне нужно проверить, был ли FormsAuthenticationTicket
успешно создан для аутентифицированного пользователя:
Assert.DoesNotThrow(typeof(Application.AuthenticationFailure),
delegate { Code.Authenticate(); }
Проблема, с которой я сталкиваюсь - HttpContext недопустим в модульных тестах. Нашел несколько решений, но понравилось то, что сделал Фил Хаак со своим HttpSimulator. Это не работает напрямую в моем коде модульного теста, так как я издеваюсь над классами EF (я не рекомендую это знать), и симулятор влияет на строки соединения.
Лучше убрать вызовы данных из модульных тестов, но я изучаю анонимные методы в процессе и хотел бы сделать что-то вроде:
delegate<Test> { AuthenticateSimulate(customer); }
Есть ли хорошая альтернатива в 3.5, чтобы сделать что-то подобное?