jose / smell-free-tests-evosuite

GNU Lesser General Public License v3.0
0 stars 1 forks source link

Mystery Guest #3

Open fc51111 opened 2 years ago

fc51111 commented 2 years ago

Neste exemplo, o EvoSuite está a criar um "File" em vez de estar a criar um "MockFile". Isto é algo que pode ser visto como uma má prática? No mesmo exemplo, o EvoSuite está a chamar o mesmo método e a passar como parâmetro um "MockFile" (que me parece ser o mais correto).

A minha ideia era considerar que qualquer statement que fosse um "ConstructorStatement" ou um "MethodStatement" e que tentasse trabalhar com ficheiros era considerado um smell caso não fosse utilizado o "MockFile".

image

Edit: Quero só mencionar que, por exemplo, ao averiguar se o statement é do tipo "File", é necessário também garantir que a classe que está a ser chamada é diferente classe a ser testada. É perfeitamente possível que esteja a ser testado um método que devolve um "File", sendo que isto não é um smell. Isto para dizer que, se for para assumir que o "File" que está a ser criado na imagem é normal (porque é um método da classe MockFile do EvoSuite), então também se pode excluir essas situações.