Testando o que está gravado em um Java OutputStream

Estou prestes a escrever testes de junit para uma classe Java de análise XML que sai diretamente para um OutputStream. Por exemploxmlWriter.writeString("foo"); produziria algo como<aTag>foo</aTag> para ser gravado no fluxo de saída mantido dentro da instância XmlWriter. A questão é como testar esse comportamento. Uma solução seria, obviamente, permitir que o OutputStream seja um FileOutputStream e, em seguida, leia os resultados abrindo o arquivo escrito, mas não é muito elegante.

questionAnswers(3)

yourAnswerToTheQuestion