Teste de unidade com dependências entre testes

Como você faz o teste de unidade quando você tem

alguns testes gerais de unidadetestes mais sofisticados verificando casos extremos, dependendo dos gerais

Para dar um exemplo, imagine testar um leitor de CSV (acabei de criar uma notação para demonstração),

def test_readCsv(): ...

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

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

Espero que os sub-testes sejam executados apenas se o teste pai for bem-sucedido. A razão por trás disso é que a execução desses testes leva tempo. Muitos relatórios de falhas que remontam a um único motivo também não seriam informativos. Claro, eu poderia incluir todos os casos extremos no teste principal, mas me pergunto se existe uma maneira mais estruturada de fazer isso.

Encontrei essas perguntas relacionadas, mas diferentes,

Como estruturar testes de unidade que possuem dependências?Teste de unidade - é uma má forma ter um teste de unidade chamando outros testes de unidade

ATUALIZAR:

encontreiTestNG que possui um ótimo suporte interno para dependências de teste. Você pode escrever testes como este,

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

questionAnswers(5)

yourAnswerToTheQuestion