Pruebas unitarias con dependencias entre pruebas

¿Cómo haces pruebas unitarias cuando tienes

algunas pruebas unitarias generalespruebas más sofisticadas que verifican casos límite, dependiendo de los generales

Para dar un ejemplo, imagine probar un lector CSV (acabo de inventar una notación para demostración),

def test_readCsv(): ...

@dependsOn(test_readCsv)
def test_readCsv_duplicateColumnName(): ...

@dependsOn(test_readCsv)
def test_readCsv_unicodeColumnName(): ...

Espero que las subpruebas se ejecuten solo si su prueba principal tiene éxito. La razón detrás de esto es que ejecutar estas pruebas lleva tiempo. Muchos informes de fallas que se remontan a una sola razón tampoco serían informativos. Por supuesto, podría calzar todos los casos extremos en la prueba principal, pero me pregunto si hay una forma más estructurada de hacer esto.

He encontrado estas preguntas relacionadas pero diferentes,

¿Cómo estructurar pruebas unitarias que tienen dependencias?Pruebas unitarias: ¿es una mala forma tener una prueba unitaria llamando a otras pruebas unitarias?

ACTUALIZAR:

He encontradoTestNG que tiene un gran soporte incorporado para dependencias de prueba. Puedes escribir pruebas como esta,

@Test{dependsOnMethods = ("test_readCsv"))
public void test_readCsv_duplicateColumnName() {
   ...
}

Respuestas a la pregunta(5)

Su respuesta a la pregunta