Может кто-нибудь помочь мне настроить Ninject 2 с Log4net? - PullRequest
1 голос
/ 28 марта 2011

Я (к счастью) уже некоторое время пользуюсь Ninject с некоторыми базовыми сценариями и хотел бы дать ему контроль над моей регистрацией. Я отметил существование пространства имен Ninject.Extensions.Logging и хотел бы использовать его, но я сталкиваюсь с двумя проблемами:

  1. Я хочу, чтобы регистратор был инициализирован с типом класса, в котором он запущен (как если бы я запускал LogManager.GetLogger с помощью GetCurrentMethod (). DeclaringType).
  2. Я хочу иметь возможность легко смоделировать или «обнулить» регистратор для модульного тестирования (т.е. я не хочу, чтобы регистратор работал), не сталкиваясь с NullReferenceExceptions за отсутствие инициализации регистратора. .

Теперь я знаю, что здесь есть несколько вопросов (и даже ответов), но я не могу найти ни одного, который бы указывал мне правильное направление.

Буду признателен за любую помощь (даже «Вы, костяная голова», она здесь! Ссылка на то, что я должен был заметить ).

1 Ответ

2 голосов
/ 28 марта 2011
  1. Это стандартное поведение расширения
  2. Не используйте Ninject для создания тестируемого объекта в ваших модульных тестах.Создайте экземпляр вручную и передайте в журнал все, что вы хотите.

Лучше всего вы посмотрите на юнит-тесты.https://github.com/ninject/ninject.extensions.logging/blob/master/src/Ninject.Extensions.Logging.Tests/Infrastructure/CommonTests.cs

...