Nome | Matrícula |
---|---|
Caio Vitor Carneiro de Oliveira | 200057227 |
Lucas Lopes Rocha | 202023903 |
Repositório destinado à implementação do trabalho de Técnicas de Programação em Plataformas Emergentes (TPPE), ministrado pelo professor André Lanna na UnB/FGA. Este projeto visa desenvolver um sistema de vendas simples para uma loja virtual, utilizando Java e práticas de desenvolvimento orientado a testes (TDD - Test-Driven Development). O sistema permite cadastrar clientes com diferentes tipos, cadastrar produtos, realizar vendas e calcular valores de frete, descontos e impostos associados às vendas.
- Implementar classes para clientes, produtos, vendas e outros componentes relacionados ao sistema de vendas.
- Utilizar o Maven para gerenciar o projeto e as dependências.
- Implementar testes automatizados para as funcionalidades principais do sistema utilizando JUnit.
- Aplicar princípios de TDD para desenvolver o código de forma incremental e orientada pelos testes.
- Clientes: Cadastra clientes com diferentes tipos (padrão, especial e prime), associando um tipo de cliente a um endereço que pode ser na capital ou no interior.
- Produtos: Cadastra produtos com código, descrição, valor de venda e unidade de medida.
- Vendas: Permite realizar vendas associadas a um cliente, com múltiplos produtos, método de pagamento e endereço de entrega. Calcula o valor total da venda, incluindo descontos para clientes especiais, cashback para clientes prime, frete e impostos (ICMS e municipal).
- Testes Automatizados: Implementa testes unitários parametrizados para validar o comportamento esperado das classes Cliente, Produto, Venda e outras funcionalidades do sistema.
- Java - ACESSO
- JUnit4 - ACESSO
- Maven - ACESSO
- Ambiente de desenvolvimento integrado (IDE) compatível com Java, como Eclipse, IntelliJ IDEA ou Visual Studio Code.
- Clone o Repositório:
git clone https://github.com/caiozim112/FGA0242_TP_TDD_CAIO_LUCAS.git
cd FGA0242_TP_TDD_CAIO_LUCAS/demo
- Executar os Testes:
Via linha de comando (Terminal ou prompt de comando):
mvn compile
mvn test
Ou execute os testes diretamente do seu IDE, navegando até a classe de teste (por exemplo, VendaTest. java) e executando os testes individualmente ou em grupo.
- Verificar Resultados: Após a execução dos testes, verifique a saída para garantir que todos os testes passaram conforme esperado.
Este projeto demonstra a aplicação de conceitos de TDD no desenvolvimento de um sistema de vendas Java. Através da prática de testes automatizados, garantimos a robustez e a confiabilidade das funcionalidades implementadas, proporcionando uma base sólida para futuras expansões e manutenções do sistema.
GARCIA, G. Entenda o que é TDD: Como Funciona e Benefícios. Disponível em: https://mercadoonlinedigital.com/blog/tdd/#:~:text=Entenda%20como%20funciona%20o%20ciclo%20TDD%201%20Red,ciclo%20TDD%20%C3%A9%20a%20%E2%80%9CRefactor%E2%80%9D%20ou%20%E2%80%9CRefatorar%E2%80%9D.%20. Acesso em: 29 jun. 2024.