Para responder a la pregunta específica, es absolutamente posible que agrupar pruebas en varias clases sea una buena decisión, evento cuando la clase bajo prueba está bien diseñada.
El código de prueba de la unidad es como cualquier otro código: debe seguir buenos principios de diseño ( DRY , GRASP , KISS , SOLID , YAGNI , etc.). Debido a que la lógica que compone el código de prueba es a menudo más simple que la lógica de dominio, muchos de los puntos específicos no aparecerán tanto, pero tenga en cuenta al escribir sus pruebas de todos modos.
Hay un par de principios que vienen a la mente que pueden aplicarse fácilmente al pensar en su pregunta:
Legibilidad
Idealmente, una vez que se escribe una prueba, nunca tiene que volver a mirarla; pero lo mismo puede decirse de cualquier código. La realidad es que los requisitos cambian, por lo que nos encontramos leyendo el código mucho más que escribiéndolo. Incluso cuando haces tu mejor esfuerzo, puedes encontrar que la prueba que escribiste no verificaba lo que pensabas, en ese momento tendrás que volver y descubrir qué estaba mal. Encontrar ese método de prueba en una clase de 40-50 métodos de prueba será difícil, sin mencionar la complicación de nombrar esos métodos para que puedan diferenciarse fácilmente.
Alta cohesión
Cada clase de prueba (como cualquier otra clase) debe tener un enfoque claro. Si tiene muchos casos de prueba diferentes para un método determinado de la clase bajo prueba, como cuando una prueba determinada verifica una sola cosa, coloque esos métodos de prueba en una clase separada y asígnele un nombre para reflejar su enfoque.