Add `addCleanup` to `unittest.subTest`
Ninguém assumiu esta issue ainda.
- Linguagem predominante
- Python
- Estrelas
- 77.2k
- Forks
- 35.9k
- Métricas de merge de PRs
- Métricas de PR pendentes
Descrição
Feature or enhancement
Proposal:
The unittest.subTest context (i.e. the object you get using with's as clause, currently None) should get methods to manage cleanups:
addCleanupenterContextdoCleanups
And similar ones for IsolatedAsyncIOTestCase.
They should do the same thing as the same methods on TestCase, but with subtest scope.
Example usage:
for param in 'a', 'b', 'c':
with self.subTest() as sub:
tempfile = make_tempfile()
sub.addCleanup(os.unlink, tempfile)
do_actual_test(tempfile, param)
See Discuss thread for motivation/discussion.
Has this already been discussed elsewhere?
I have already discussed this feature proposal on Discourse
Links to previous discussion of this feature:
https://discuss.python.org/t/unittest-add-addcleanup-to-subtest/91827
Linked PRs
- gh-134318
Guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Direção de pesquisa
Comece pelos métodos de limpeza existentes de unittest.TestCase e pelo contexto unittest.subTest; em seguida, compare o comportamento correspondente de IsolatedAsyncIOTestCase. Leia a thread do Discourse e o PR vinculado gh-134318 para entender o escopo proposto. Considera-se concluído quando os métodos de limpeza solicitados funcionarem com o escopo de subtest tanto para casos síncronos quanto para casos assíncronos isolados.
Escrita pelo modelo de indexação a partir do texto da issue.
Avaliação
- Stack de tecnologia
- python
- Domínio
- testing-qa
- Tipo de issue
- Funcionalidade
- Dificuldade
- 5/5
- Tempo estimado
- Mais de uma semana
- Status de atividade
- Estagnada
- Clareza
- Razoavelmente clara
- Facilidade para iniciantes
- 25/100