Estudo comparativo entre ferramentas de teste unitário para Angular ao programar com o paradigma reativo utilizando RxJS - BARROS, André (2023)
Angular é um framework frontend, construído em TypeScript, baseado em componentes para construir aplicações web.Parte da comunidade do Angular defende o uso do paradigma de programação reativa para ter ganhos em manutenibilidade. No Angular isso pode ser alcançado com o uso da biblioteca RxJS, porém o código da aplicação pode tornar-se mais complexo. Independentemente do paradigma de programação escolhido, os testes são parte fundamental no ciclo de desenvolvimento de software quando se busca atingir níveis altos de qualidade. O intuito desse trabalho é comparar três estratégias que podem ser utilizadas para fazer testes unitários em uma aplicação Angular que utiliza programação reativa com RxJS, sendo elas: O uso do método subscribe dos Observables do RxJS, o uso da API de Marble Diagrams que também é fornecida pelo RxJS e o uso da biblioteca Observer-spy que foi criada com o intuito de facilitar os testes de Observables do RxJS. As estratégias utilizadas foram comparadas com as seguintes métricas: quantidade de linhas, legibilidade do teste e finalidade das asserções. O objetivo da comparação é identificar quais das estratégias são melhores e piores em diversos cenários comumente encontrados no desenvolvimento de software frontend.