En este número, el tema que vamos a discutir son las pruebas de JavaScript para verificar si el estado y el modo de trabajo de los componentes son los esperados. También presentaremos un método de prueba que puede escribir casos de prueba fácilmente. Las pruebas mencionadas aquí, por supuesto, utilizan métodos de prueba automatizados, que es una parte importante del control de calidad (QA) del software. En lo que respecta a la cola inteligente presentada en esta serie de artículos, nuestros objetivos de prueba incluyen:
Para el primer objetivo, simplemente verifique que las propiedades del objeto después de la creación sean las esperadas. Hemos mencionado muchas veces "cumplir con las expectativas" y Assert está diseñado para eso. En pocas palabras, la afirmación es para garantizar que la expresión probada resulte "verdadera"; de lo contrario, notifique al evaluador de alguna manera y ayúdelo a localizar el caso de prueba donde falló la afirmación.
El segundo objetivo es un poco más complicado. Dado que ocultamos la cola ordenada (_sorted) en el cierre durante la codificación e implementación del componente, es inaccesible desde el exterior. Hay dos métodos a considerar: (1) Refactorizar el código para aumentar la capacidad de prueba del código. También hay dos métodos de refactorización: (a) configurar el interruptor de depuración y exponer _sorted al exterior cuando esté activado; Agregue archivos independientes, uniendo el código en forma de compilación para finalmente generar una versión de prueba. (2) Pruebe los resultados del comportamiento en lugar del proceso. El método anterior esencialmente profundiza en el estado de tiempo de ejecución del componente, mientras que este método solo verifica los resultados de ejecución del componente. Este número utiliza el último método de prueba y el primer método de prueba se deja para que lo practiquen los lectores interesados :)
Cabe señalar que personalmente no estoy de acuerdo con el primer método. ¿Por qué? Permítanme hablar primero sobre el concepto de diseño de esta cola de tareas:
Fuente: Alipay UED