Nesta edição, o tópico que discutiremos é o teste de JavaScript para verificar se o status e o modo de funcionamento dos componentes estão conforme o esperado. Também apresentaremos um método de teste que pode facilmente escrever casos de teste. Os testes mencionados aqui usam, obviamente, métodos de teste automatizados, que são uma parte importante da garantia de qualidade de software (QA). No que diz respeito ao Smart Queue apresentado nesta série de artigos, nossos objetivos de teste incluem:
Para o primeiro objetivo, basta verificar se as propriedades do objeto após a criação estão conforme o esperado. Já mencionamos "conformidade com as expectativas" muitas vezes, e o Assert foi projetado para isso. Simplificando, asserção é garantir que a expressão testada resulte em "verdadeira", caso contrário, notificar o testador de alguma forma e ajudá-lo a localizar o caso de teste onde a asserção falhou.
O segundo objetivo é um pouco mais complicado. Como ocultamos a fila classificada (_sorted) no fechamento durante a codificação e implementação do componente, ela fica inacessível externamente. Existem dois métodos a serem considerados: (1) Refatorar o código para aumentar a testabilidade do código. Existem também dois métodos de refatoração: (a) Definir a opção de depuração e expor _sorted para o exterior quando estiver ativado; Adicione arquivos independentes, emendando o código em uma forma de construção para finalmente gerar uma versão de teste. (2) Teste os resultados do comportamento em vez do processo. O método anterior se aprofunda essencialmente no status de tempo de execução do componente, enquanto este método apenas verifica os resultados de execução do componente. Esta edição usa o último método de teste, e o primeiro método de teste é deixado para os leitores interessados praticarem :)
Deve-se notar que eu pessoalmente não concordo com o primeiro método a. Deixe-me primeiro falar sobre o conceito de design desta fila de tarefas:
Fonte: Alipay UED