Skip to content

Criação de testes unitários e de integração - #28

Merged
gabrnunes merged 6 commits into
codecon-dev:mainfrom
tfeijo:test/mocks-and-tests
Apr 30, 2025
Merged

gabrnunes merged 6 commits into
codecon-dev:mainfrom
tfeijo:test/mocks-and-tests

Conversation

@tfeijo

@tfeijo tfeijo commented Apr 29, 2025

Copy link
Copy Markdown
Contributor

Resumo

Os arquivos no diretório __mocks__ fornecem mocks para dependências dos testes, enquanto os arquivos no diretório __tests__ contêm testes unitários e de integração para validar o comportamento do código. As configurações no package.json garantem que o Jest funcione corretamente com esses mocks e arquivos de teste.

  1. TimeController.js

    • Mock do mĂłdulo TimeController. Simula o comportamento do controlador de tempo para isolar dependĂŞncias nos testes.
  2. TimeUtils.js

    • Mock do mĂłdulo TimeUtils. Simula funções utilitárias relacionadas ao tempo, como conversões e formatações.
  3. audioMock.js

    • Mock para objetos de áudio (Audio). Substitui o comportamento de áudio no ambiente de testes para evitar erros relacionados a arquivos de som.
  4. browserApiMocks.js

    • Mock para APIs do navegador, como window, document, ou outras APIs especĂ­ficas usadas no cĂłdigo.
  5. domMocks.js

    • Mock para elementos DOM. Simula mĂ©todos como querySelector, addEventListener, e propriedades como classList, permitindo testar interações com o DOM.
  6. fileMock.js

    • Mock para arquivos estáticos, como .wav e .mp3. Substitui esses arquivos durante os testes para evitar dependĂŞncias externas.
  7. TimeController.test.js

    • Testes unitários para o mĂłdulo TimeController. Verifica o comportamento das funções e mĂ©todos do controlador de tempo.
  8. TimeStatus.test.js

    • Testes unitários para o mĂłdulo TimeStatus. Verifica o comportamento de estados relacionados ao timer.
  9. TimeUtils.test.js

    • Testes unitários para o mĂłdulo TimeUtils. Valida funções utilitárias, como conversões de tempo e formatações.
  10. TimerIntegration.test.js

  • Testes de integração para o TimerController. Verifica a interação entre diferentes partes do sistema, como eventos DOM e mudanças de estado.

Configurações no package.json

  1. jest

    • Configurações especĂ­ficas para o Jest:
      • testEnvironment: "jsdom"
        Define o ambiente de teste como jsdom, simulando um navegador.
      • moduleNameMapper
        Mapeia arquivos .wav e .mp3 para o mock fileMock.js.
      • setupFiles
        Carrega o mock audioMock.js antes de executar os testes.
  2. DependĂŞncias relacionadas a testes

    • jest: Framework de testes.
    • jest-environment-jsdom: Ambiente de teste que simula o DOM.
    • babel-jest: Integração do Babel com o Jest para transpilar cĂłdigo moderno.

@gabrnunes
gabrnunes merged commit d37039a into codecon-dev:main Apr 30, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants