El selenio-unittest marco de pruebas de unidad

1, unittest Introducción

¿Por qué aprender unidad de pruebas de marco para
la organización y funcionamiento de casos de prueba tienen que participar en pruebas unitarias marco para satisfacer las necesidades de los diferentes escenarios de prueba, marco de pruebas de unidad proporciona una rica métodos de comparación: comparación de los resultados reales con los resultados esperados del resultado de la prueba ==
pruebas unitarias marco proporciona un rico registro: dado el número de fallos de las pruebas y las razones y no por un
marco de pruebas de unidad común, que
doctest, unittest, PYtest, la nariz y así sucesivamente
Java - "JUnit (TestNG), C ++ -" googleTest, C # - "nunit

2, los componentes básicos unittest

 3, obras unittest

Caso_prueba: un caso de prueba es un caso de prueba. Configuración (entorno de prueba listo), correr (ejecución de la prueba), el desmontaje (entorno de prueba de reducción).
TestSuite (conjunto o kit): una pluralidad de casos de prueba se establece, Suite puede comprender una pluralidad de casos de prueba, sino que también puede ser suite de anidado.
TestLoader: caso_prueba utiliza para cargar en el banco de pruebas.
TestTestRunner: Ejemplo realizó con una prueba (método de ejecución), los resultados de la prueba se guardan en la TestTestresult.
Elemento de fijación: construir y destruir un entorno de prueba.

 4, las células del tejido de prueba unittest

Construcción de prueba de unidad
escenario: sustituir ejemplos de cadenas

 

 5, la acumulación de pruebas (optimización de los casos de prueba)

El aumento de casos de prueba unidad, habrá muchas operaciones similares en el código de prueba respectiva en consideración de configuración (entorno de prueba preparada), el tearDown (reducción del entorno de prueba)

 

 6, una pluralidad de tejido de prueba (prueba de profundidad optimización)

Continúan optimizando la prueba: Todos los casos de prueba no necesita tener una clase separada para el almacenamiento, la manera de consumir el tiempo, para almacenar el inicio de la prueba mediante una prueba de funcionamiento.

 

 7, la acumulación de pruebas

Una pluralidad de casos de prueba se establece, Suite puede comprender una pluralidad de casos de prueba, sino que también puede ser suite de anidado.

 8, la optimización del conjunto de pruebas

La parte operativa del caso de prueba

 Toda prueba que se realiza en virtud de una clase de prueba, el módulo proporciona una unittest makesuite

 Control 9, una pluralidad de clases de prueba

 

 10, se realiza una prueba

En primer lugar StringReplaceTestCase en un archivo separado, un py StringReplace.py
comenta sobre el método, como la descripción del método.
La parte dispositiva de los casos de prueba, crear un test_suite.py, las medidas de control de usuario para poner en práctica los casos de uso
para ejecutar todos los casos de prueba.

11, se salta la prueba

StringReplace modificar archivos, la comprensión de salto, skipif, skipunless

 12, resumen marco unittest

unittest.TestCase: Clase TestCase, todas las clases básicas de la herencia de clases de casos de prueba. la clase de prueba (de unittest.TestCase):
unittest.main (): El uso de una unidad puede ser modificada fácilmente a scripts de prueba del módulo de prueba se puede ejecutar directamente
unittest.TestSuite (): Marco unittest la clase TestSuite () se utiliza para crear conjuntos de pruebas a.
unittest.TextTestRunner (): Marco TextTestRunner unittest (), un método () para ejecutar el conjunto de pruebas se monta a través de la siguiente RUN clase, los parámetros para la suite serie de pruebas.
unittest.skip (): decorador, cuando se ejecuta con la forma de realización, la ejecución puede no querer algunos casos, ser utilizado para proteger temporalmente la tira de prueba decorador. El uso común Para depurar una prueba, que se protegía a otros casos de uso
@ unittest.skip (razón): omitir ( razón) decorador: decorativo prueba de salto incondicional, y la prueba es razones omitidos.
@ Unittest.skipIf (razón): skipIf ( condición, la razón) decoradores: la condición es verdadera, la prueba es la decoración omitido, y las razones para omitir la prueba.
@ Unittest.skipUnless (razón): skipUnless ( condición, la razón) decorador: la condición es falsa, no tome la decoración de la prueba, y las razones para saltarse las pruebas

Método de configuración () para la inicialización a cabo antes de la prueba. La prueba requiere el acceso al navegador, el navegador se pueden crear instancias en la unidad de configuración.
tearDown (): método tearDown () se utiliza para realizar los trabajos de reparación después de la prueba, cierre el navegador.
Las afirmaciones: durante la ejecución del caso de prueba, ya sea realizada por el caso de uso final, la igualdad se determina mediante la determinación de la los resultados del ensayo esperados obtenidos real y.
assertEqual (a, b, [msg = ' imprimir la prueba información de fallo']): assert a y b son iguales, son iguales por casos de prueba.
assertNotEqual (a, b, [msg = ' imprimir la información de fallo de la prueba']): assert a y b son iguales, no igual, a continuación, a través de la prueba.
assertTrue (x, [msg = 'prueba falla impreso información']): Verdadero si se afirma x, entonces la prueba es verdadera a través.
addTest (): método consiste en añadir la prueba a la serie de pruebas.

 ejecutar (): es la prueba de ejecutar el conjunto de pruebas, el conjunto de parámetros del banco de pruebas

 13, describe informe HTML

extensión HTMLTestRunner es una biblioteca estándar de Python unittest unidad probando marco para la generación de un informe de prueba HTML
Descargar: http://tungwaiyip.info/software/HTMLTestRunner.html

 14, resultados de pruebas HTML

HTMLTestRunner.py Descargar http://tungwaiyip.info/software/HTMLTestRunner.html
ruta de almacenamiento HTMLTestRunner.py se coloca en C: \ los usuarios \ Administrador \ AppData \ Local \ Programas \ Python37 \ Lib
HTMLTestRunner.py está basada python2 * el desarrollo, con el fin de ser capaz de ser utilizado en python3, resulta necesario modificar el archivo.
Resumen de la valoración: 
línea 94, para modificar la importación StringIO io importación
, la línea 539, la self.outputBuffer = StringIO.StringIO () modificado self.outputBuffer = io.StringIO ()
en la línea 642, hará si no rmap.has_key ( cls): modificado si no cls en rmap:
fila 766a, el uo = o.decode ( 'latino-1 ') modificados uo = e
, línea 772, el UE = e.decode ( 'latino-1 ') modificada ue = e
, la línea 631, la impresión >> sys.stderr, '\ nTime transcurrido :% s' % (self.stopTime-self.startTime) modificado para imprimir (sys.stderr,' \ nTime transcurrido :% s '% (self.stopTime-self.startTime))

se genera archivo de informe basado en HTML test_suite, almacenada en la unidad D llamada result.html

Supongo que te gusta

Origin www.cnblogs.com/katyhudson/p/12463325.html
Recomendado
Clasificación