Как построить модульный тест - PullRequest
0 голосов
/ 04 октября 2010

У меня есть специальный регистратор событий, и я хочу его протестировать.

[Test]
        public void AddLogWithExceptionAndEventLogEntryTypeTest()
        {

        const string loggerName = "mockLoggerName";
        var logger = new MyLogger(loggerName);

        System.Diagnostics.EventLog log = new System.Diagnostics.EventLog("System");
        string logValue = Guid.NewGuid().ToString();
        logger.AddEntry(new Exception(logValue),EventLogEntryType.Error );


        foreach (
            EventLogEntry entry in log.Entries)
        {
            if (entry.Message.ToUpper().Contains(logValue))
            {
              //what can is do ?
            }
        }
    }

Какое утверждение использовать для предоставления информации, что запись была добавлена?

1 Ответ

3 голосов
/ 04 октября 2010

Вы намерены просмотреть в журнале текст, который вы только что добавили? Тогда как насчет:

bool foundOne = false;
foreach (EventLogEntry entry in log.Entries)
    {
        if (entry.Message.ToUpper().Contains(logValue))
        {
          foundOne = true;
        }
    }

Assert(foundOne);

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

...