Como capturar os resultados do Junit

Olá pessoal!!

Estou terminando o meu TCC que é gerador de métricas de testes unitários. Para usar o sistema, inicialmente o usuário executar um trecho de código que irá gerar um arquivo txt com os resultados.
O problema que estou enfrentando é que não consigo descobrir uma maneira prática de resgatar todas as informações que necessito.
Atualmente consigo captutar :

-nomes das classes testadas
-nomes dos métodos de testes
-testes que falharam
-testes que passaram
-testes com erro

Eu precisava também era capturar o nome dos testes que falharam e a descrição, entre outros dados.

Abaixo segue um trecho do código que gera na linha de comando as informações que precisava.

public static Test suite() {
	TestSuite suite = new TestSuite("Testes");
	Class[] testClass = {SomaTest1.class, SomaTest2.class };
	int temp = 0;
	
	while(testClass.length > temp){
		suite.addTestSuite(testClass[temp]);

		TestRunner.run(testClass[temp]);

		temp++;
		}
      }

Ao executar ele gera na linha de comando do Eclipse o seguinte resultado:

Time: 0
There were 3 failures:

  1. testGetValor2(Somatorio.SomaTest1)junit.framework.AssertionFailedError: expected:<44> but was:<4>
    at Somatorio.SomaTest1.testGetValor2(SomaTest1.java:19)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at Somatorio.GeradorMunit2.suite(GeradorMunit2.java:80)
    at Somatorio.GeradorMunit2.main(GeradorMunit2.java:64)
  2. testGetValor3(Somatorio.SomaTest1)junit.framework.AssertionFailedError: expected:<2> but was:<4>
    at Somatorio.SomaTest1.testGetValor3(SomaTest1.java:26)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at Somatorio.GeradorMunit2.suite(GeradorMunit2.java:80)
    at Somatorio.GeradorMunit2.main(GeradorMunit2.java:64)
  3. testFail(Somatorio.SomaTest1)junit.framework.AssertionFailedError: expected:<3> but was:<4>
    at Somatorio.SomaTest1.testFail(SomaTest1.java:34)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at Somatorio.GeradorMunit2.suite(GeradorMunit2.java:80)
    at Somatorio.GeradorMunit2.main(GeradorMunit2.java:64)

Ele exibe informações que precisava como o teste que falhou, o resultado esperado e o resultado obtido.
Na pior das hipóteses, eu queria resgatar todas estas informações e jogá-las em uma String, para depois na hora de importar filtrar o que me interessa.

Como a minha área é a de teste de software estou tendo bastante dificuldade em solucionar este problema.

Se alguém tiver alguma idéia, por favor , heeeeeeeeeelp!!!