У меня есть следующий код, который дает сокет, записывает содержимое в сокет и на основе этого возвращает Right
или Left
class Gateway {
def sendEvent(
str: String,
socket: Socket): Either[CustomException, String] = {
Try {
val writer =
new BufferedWriter(new OutputStreamWriter(socket.getOutputStream))
writer.write(s"${str}\n")
writer.flush()
} match {
case Success(_) => Right(str)
case Failure(_) => Left(CustomException)
}
}
}
Я пытаюсь выполнить модульное тестирование sendEvent
метод. Однако строка
new BufferedWriter(new OutputStreamWriter(socket.getOutputStream))
не позволяет мне сделать это. Теперь я не могу передать BufferedWriter в качестве зависимости, так как мне нужно всегда открывать новое соединение.
Я использую Scalatest
и Mockito
для тестирования. Будем весьма благодарны за любые идеи о том, как выполнить модульное тестирование этого кода. Заранее спасибо !!!