Estou escrevendo testes para um projeto que consiste em vários submódulos. Cada caso de teste que escrevi é executado independentemente um do outro e eu limpo todos os dados entre os testes.
Embora os testes sejam executados de forma independente, estou pensando em impor uma ordem de execução, pois alguns casos exigem mais de um submódulo. Por exemplo, um submódulo está gerando dados e outro está executando consultas nos dados. Se o submódulo que gera os dados contiver um erro, o teste para o submódulo de consulta também falhará, mesmo que o próprio submódulo funcione bem.
Não posso trabalhar com dados fictícios, pois a principal funcionalidade que estou testando é a conexão com um servidor remoto de caixa preta, que obtém apenas os dados do primeiro submódulo.
Nesse caso, não há problema em impor uma ordem de execução para os testes ou é uma má prática? Sinto que há um cheiro nessa configuração, mas não consigo encontrar uma maneira melhor de contornar.
edit: a pergunta é de Como estruturar testes onde um teste é a configuração de outro teste? como o teste "anterior" não é uma instalação, mas testa o código que executa a instalação.