¿Cómo se pueden desactivar temporalmente las pruebas de unidades individuales cuando se utiliza el módulo unittest
en Python?Inhabilitar pruebas individuales de la unidad Python temporalmente
Respuesta
Los métodos de prueba individuales o las clases se pueden desactivar mediante el decorador unittest.skip
.
@unittest.skip("reason for skipping")
def test_foo():
print('This is foo test case.')
@unittest.skip # no reason needed
def test_bar():
print('This is bar test case.')
Para otras opciones, vea los documentos para Skipping tests and expected failures.
The latest version (2.7 - unreleased) supports test skipping/disabling like so. Puede obtener este módulo y usarlo en su instalación de Python existente. Probablemente funcionará.
Antes de esto, solía cambiar el nombre de las pruebas que quería omitidas a xtest_testname
desde test_testname
.
Aquí hay una secuencia de comandos elisp rápida para hacer esto. Mi elisp está un poco oxidado, así que me disculpo de antemano por cualquier problema que tenga. No probado.
(defun disable_enable_test()
(interactive "")
(save-excursion
(beginning-of-line)
(search-forward "def")
(forward-char)
(if (looking-at "disable_")
(zap-to-char 1 ?_)
(insert "disable_"))))
+1, pero en todo el proyecto que estoy trabajando todo el mundo está usando python v2.6.2, y no creo que esto cambie: /, pero es una solución, gracias – coelhudo
Renombrado por ahora. gracias – coelhudo
Podría ajustar un poco su editor para darle una macro para habilitar/deshabilitar un caso de prueba pero hablo como un usuario de Emacs así que ... :) –
Puede utilizar decoradores para desactivar la prueba que puede envolver la función y prevenir la prueba unitaria googletest o Python para ejecutar el caso de prueba.
def disabled(f):
def _decorator():
print f.__name__ + ' has been disabled'
return _decorator
@disabled
def testFoo():
'''Foo test case'''
print 'this is foo test case'
testFoo()
Salida:
testFoo has been disabled
acabo de cambiar el nombre de un método de caso de prueba con un guión: test_myfunc convierte _test_myfunc.
Simplemente colocando @unittest.SkipTest
decorador encima de la prueba es suficiente.
No sé quién lo hizo. Pero, estaba leyendo la documentación y dice que SkipTest es una excepción. De todos modos, es diferente de unittest.skip en el sentido de que omitir nunca ejecuta la prueba (inhabilitándolo), mientras que la finalidad de SkipTest es aumentar si algo no esperado ocurre mientras se está ejecutando la prueba. ¿Estoy en lo cierto? Interesante duro. – coelhudo
'unittest.skip' (sin razón) me da error en Python 2 pero no en Python 3. – Akif
- 1. Pruebas de unidad de paramaterización en python
- 2. pruebas de unidad python con configuraciones múltiples?
- 3. ¿Inhabilitar Django South cuando se ejecutan pruebas unitarias?
- 4. unidad de pruebas primitivas
- 5. Pruebas de Unidad Maintainable
- 6. Pruebas unitarias en QTestLib - ejecución de pruebas individuales/pruebas en clase/todas las pruebas
- 7. Pruebas de unidad CoffeeScript?
- 8. Pruebas de rendimiento Versus Unidad de Pruebas
- 9. Pruebas de unidad de escritura en Django/Python
- 10. ¿Cómo pruebas tu unidad?
- 11. Cómo configurar y desmontar temporalmente django db para pruebas unitarias?
- 12. pruebas de unidad en C++
- 13. Cómo ocultar temporalmente stdout o stderr mientras se ejecuta una prueba de unidad en Python
- 14. ejecución de unidad de rieles individuales/prueba funcional
- 15. Unidad de Pruebas: La tala y la inyección de dependencias
- 16. Pruebas de prueba de unidad orden
- 17. Unidad de Pruebas de Arquitectura Pregunta
- 18. Unidad de árboles de expresión Pruebas
- 19. ¿Es posible desactivar temporalmente la interpolación de cadenas de Python?
- 20. unidad de pruebas de escritura en C++
- 21. Pruebas de unidad de ejecución en paralelo
- 22. Unidad de pruebas de Jersey con Mocks
- 23. Conjunto de pruebas Junit 4 y clases de prueba individuales
- 24. Pruebas de la unidad Perfom python a través de una interfaz web
- 25. python & maven (integración de prueba de unidad)
- 26. Spring: unidad y pruebas de integración
- 27. Problema Unidad de Pruebas en VB.NET
- 28. ASP.NET MVC Unidad de Pruebas - Sesiones
- 29. Unidad de Pruebas un atributo personalizado clase
- 30. afirmando configurar y precondiciones en la Unidad de Pruebas de
En Python 3, la respuesta de Akif debajo de '@ unittest.SkipTest' funciona y no' @ unittest.skip' – lifebalance
Estoy usando Python 3.6.1 y '@ unittest.skip' también funciona bien. – Pete
@Pete, en Python 3.4.0, '@ unittest.skip' no funciona. – lifebalance