Comecei a trabalhar em um projeto Python bastante grande (multithread), com muitos testes (de unidade). O problema mais importante é que a execução do aplicativo requer um ambiente predefinido, que é implementado por um gerenciador de contexto. Até agora, usamos uma versão corrigida do executor de teste de unidade que executaria os testes dentro deste gerenciador, mas que não permite alternar o contexto entre os diferentes módulos de teste.
Tanto o nariz quanto o pytest suportam tal coisa porque eles suportam luminárias em muitas granularidades, então estamos planejando mudar para o nariz ou pytest. Ambas as bibliotecas também suportam testes de 'marcação' e executam apenas esses subconjuntos marcados, o que também gostaríamos de fazer.
Estive examinando a documentação do nariz e do pytest um pouco e, pelo que posso ver, a maior parte dessas bibliotecas suporta essencialmente a mesma funcionalidade, exceto que pode ter um nome diferente ou exigir uma sintaxe ligeiramente diferente. Além disso, notei algumas pequenas diferenças nos plug-ins disponíveis (o nariz tem suporte a multiprocessos, o pytest não parece, por exemplo)
Ao que parece, o diabo está nos detalhes, o que significa (muitas vezes pelo menos) no gosto pessoal e é melhor irmos com a biblioteca que melhor se adapta ao nosso gosto pessoal.
Então, eu gostaria de pedir uma argumentação subjetiva por que eu deveria ir com o nariz ou pytest a fim de escolher a combinação biblioteca / comunidade que melhor se adapta às nossas necessidades.