Se dissermos que a definição de práticas inadequadas no desenvolvimento de software é algo que não ajuda a lidar e encapsular a mudança, eu diria que não manter suas classes e testes em um relacionamento individual é uma prática ruim . É um cheiro de código que pode surgir devido às coisas mencionadas abaixo.
Obviamente, há exceções como qualquer outra coisa, mas lembre-se disso ao escrever seus testes.
Minhas aulas normalmente têm de 5 a 20 métodos no máximo.
Se alguma de suas aulas tiver 20 (ou um pouco menos) métodos, isso me mostra que a classe está fazendo muito em primeiro lugar. É aqui que os testes de unidade devem sugerir que você pode precisar dividir um pouco mais sua classe e distribuir a responsabilidade antes de fazer os testes.
Quanto a mantê-los na mesma classe ou não, eu sugeriria tentar mantê-los em uma classe, se possível, porque é melhor compreensível - é fácil entender a conexão de um para um após muito tempo. Apenas por experiência.
Se você perceber que os testes de unidade são enormes, mesmo quando você tem 5 métodos ou menos, isso indica que seu código de configuração está fazendo muito ou que seus objetos são anormalmente grandes .
Se você ainda não experimentou, verifique o padrão do construtor para construir seus objetos - isso pode reduzir drasticamente o código de como você está construindo seus objetos antes de testá-los. Portanto, tornando a classe de teste de unidade mais curta e menos necessária, você deve dividi-la em mais classes.