¿Cómo omitir por la fuerza una prueba unitaria en Django?
@skipif y @skipunless es todo lo que encontré, pero solo quiero omitir una prueba ahora mismo con fines de depuración mientras soluciono algunas cosas.
¿Cómo omitir por la fuerza una prueba unitaria en Django?
@skipif y @skipunless es todo lo que encontré, pero solo quiero omitir una prueba ahora mismo con fines de depuración mientras soluciono algunas cosas.
Respuestas:
El módulo unittest de Python tiene algunos decoradores:
Hay simplemente viejo @skip
:
from unittest import skip
@skip("Don't want to test")
def test_something():
...
Si no puede usar @skip
por alguna razón, @skipIf
debería funcionar. Simplemente engañelo para omitir siempre el argumento True
:
@skipIf(True, "I don't want to run this test yet")
def test_something():
...
Documentos sobre cómo omitir pruebas
Si está buscando simplemente no ejecutar ciertos archivos de prueba, la mejor manera probablemente sea usar fab
u otra herramienta y ejecutar pruebas particulares.
@skip
?
Django 1.10 permite el uso de etiquetas para pruebas unitarias. Luego puede usar la --exclude-tag=tag_name
bandera para excluir ciertas etiquetas:
from django.test import tag
class SampleTestCase(TestCase):
@tag('fast')
def test_fast(self):
...
@tag('slow')
def test_slow(self):
...
@tag('slow', 'core')
def test_slow_but_core(self):
...
En el ejemplo anterior, para excluir sus pruebas con la slow
etiqueta " ", ejecutaría:
$ ./manage.py test --exclude-tag=slow
--exclude-tag
, por ejemplo, --include-tag
pero este comando no existe?