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".
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.
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".
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.