akka - тестирование определенной записи в журнале - PullRequest
3 голосов
/ 10 марта 2012

Я пишу юнит-тесты для актеров Акки и хочу проверить записи в журнале; например Тест XYZ написал в категорию ошибок. (Вы знаете, допустим, я отправляю актеру сообщение через! Вместо?)

В актере я напишу в журнал сообщение об ошибке, информации, отладке и т. Д. В зависимости от результата сообщения, обработанного «receive».

Для akka 1.2 или 1.3, как мне это сделать? Пример: добавить нового слушателя в EventHandler? Другие идеи?

Заранее спасибо, Тодд

1 Ответ

3 голосов
/ 10 марта 2012

Джон уже изложил основы своего ответа (я бы направил сообщение на testActor вместо использования TestLatch, но это дело вкуса).Я знаю, что это не соответствует вашим требованиям, но, может быть, следующее может заманить вас в Akka 2.0?

EventFilter.error(message = "some message", occurrences = 1) intercept {
  // do something which should trigger such a log message
}

Эти средства получены из akka-testkit, а именно akka.testkit.TestEventListener и akka.testkit.EventFilter.Приведенный выше код будет ожидать до трех секунд (настраивается в «akka.test.filter-leeway»), чтобы появилось сообщение, и в ином случае выдаст информативное сообщение об ошибке.

...