Cara, você até pode até usar Mocks para eliminar algumas dependências do seu método e escrever testes de unidade, mas como a saída do seu método está muito acoplada a estas dependências, eu me focaria mais em testar o seu método como um todo (integração).
Minha sugestão: crie 2 arquivos de imagem, um para ser usado como entrada do seu método e outro para representar a saída esperada. Ou seja, um arquivo é a imagem original e o outro é a imagem já redimensionada (use algum outro programa para gerar o segundo).
Faça um teste que crie um InputStream a partir do seu primeiro arquivo, passe este para o seu método e leia o InputStream que ele retorna. Compare o conteúdo deste stream com o conteúdo do seu segundo arquivo. Eles devem ser idênticos.
Repita o processo com diferentes pares de imagens para verificar como seu algoritmo lida com diferentes alturas/larguras/formatos.
Já no que que se refere a diferentes algoritmos gerarem diferentes imagens, essa pode ser mais uma razão para checar o conteúdo após o redimensionamento, afinal, o resultado não pode ser uma imagem qualquer apenas com as dimensões corretas.
[quote=AnThraX.Java]Ola galera.
Tenho algumas duvidas quanto a aplicação de testes unitários com JUnit.
uma delas seria como eu testaria o metodo a seguir.:
O objetivo deste método é redimencionar uma imagem passado como InputStream e devolver uma nova como InputStream também.
[/quote]
Crie uma imagem usando BufferedImage ou use um JPEG de teste com dimenções conhecidas. Utilize ImageIO para ler a imagem com um InputStream do arquivo e passe-a ao método. Utilize o mesmo ImageIO para ler a imagem do inputStream que retorna do método. Carrege em um Image e teste se as dimenções são as que deveriam ser.
Alem de checar se a altura e largura estão de acordo com o esperado, veja se é possivel checar alguma coisa com respeito a informação que a imagem carrega pois vc pode redimensionar mas arrebentar com a imagem.
Uma coisa que seria interessante é ver se o arquivo não corrompeu verificando mais informações. Se vc sempre faz o teste com uma imagem, verifique a qualidade da mesma se for redimensionada e, caso positivo, guarde MD5SUM dela. Em testes subsequentes podes testar esse hash (é provavel que seja sempre o mesmo se os parâmetros do teste permaneçam os mesmos, certo?) ou verifica alguma relação de ruído entre as imagens, etc. Tem muita coisa que pode ser feita ai