Problema conhecido do GMock com testes homônimos

Posted . Visible to the public.

Documento aqui uma situação estranha que enfrentei e pode vir a ajudar mais pessoas.

PROBLEMA

O gmock estranhamente pode causar conflito ao encontrar dois testes de mesmo nome em classes diferentes. E o mais estranho é que o conflito não ocorre nos métodos homônimos, mas sim em um terceiro teste de uma das classes em conflito.

No meu caso havia:
ClasseA.testeDeUnidadeDeNomeIgual()
ClasseB.testeDeUnidadeDeNomeIgual()
ClasseB.testeDeUnidadeTerceiroNadaAhVer()
E o fato de haver os dois testes de nome igual fazia com que um outro teste de uma das classes não fosse capaz de mockar uma classe, de forma que durante a execução o método da classe real era utilizado e não o método mockado, o que no caso levava a falhar o teste.

SOLUÇÃO

Renomear qualquer um dos testes homônimos elimina o conflito e faz com que o teste terceiro funcione como o esperado, resolvendo o problema. No mínimo estranho, mas aconteceu.

Bruno Vieira
Posted by Bruno Vieira to ZeroGlosa (2012-10-04 19:42)