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:
- 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) - 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) - 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!!!