Pular para o conteúdo principal

Postagens

Mostrando postagens de julho, 2026

Criação de Projetos de Teste C# pelo CLI

Para criar um projeto de testes usando o bUnit e MSTest , a melhor prática é instalar os templates do bUnit e usar a CLI do .NET . [1] Execute os comandos abaixo na sua linha de comando: # 1. Instale os templates do bUnit dotnet new install bunit.template # 2. Crie o projeto bUnit configurado para usar MSTest dotnet new bunit-mstest -o SeuNomeDoProjeto.Tests O bUnit possui suporte oficial a múltiplos frameworks de teste. Se você já tem um projeto de testes MSTest padrão criado do zero e quer apenas adicionar o bUnit nele, ou se prefere configurá-lo manualmente, o processo exige alguns passos essenciais: [2] 1. Instalar os pacotes NuGet necessários Adicione o pacote do bUnit ao seu arquivo .csproj ou através do terminal: [3] dotnet add package Bunit 2. Ajustar o SDK no arquivo de projeto (.csproj) Para testar componentes Blazor (arquivos .razor ), o SDK do projeto de testes precisa ser alterado de Microsoft.NET.Sdk para Microsoft.NET.Sdk.Razor . [4, 5] Abra o seu arquivo .cspr...

UML e comunicação entre Componentes

(conteúdo gerado com I.A.) Antes de abordarmos o conceito de Componentes, vale a pena analisar como um programador iniciante costuma estruturar uma aplicação. Geralmente, a escolha é construir um monólito tradicional, agrupando todas as classes de domínio (como Categoria, Produto, Compra, Venda, Pagamento, etc.) em uma única pasta de Entidades. Da mesma forma, criam-se pacotes globais para Repositórios, Serviços e Controllers. O grande problema dessa abordagem é que ela gera um forte acoplamento entre as classes e as camadas do sistema. À medida que a aplicação cresce, isso desencadeia uma série de dificuldades: Manutenção e modelagem complexas: As responsabilidades se misturam. Rapidamente, o código passa a ter diversos trechos onde as classes assumem funções que não deveriam ter, tornando a evolução do sistema confusa. Escalabilidade ineficiente: Para escalar o backend, é necessário replicar a aplicação inteira e todo o banco de dados. Além de consumir mais recursos, isso traz o ri...

Qual a diferença entre include e extend no diagrama de Caso de Uso do UML?

 No diagrama de casos de uso da UML, as associações include (inclusão) e extend (extensão) servem para relacionar casos de uso, permitindo reaproveitar comportamentos e organizar o sistema . [1, 2] Aqui está a função direta de cada uma: <<include>> (Inclusão) Serve para indicar que um caso de uso obrigatoriamente precisa do comportamento de outro para ser concluído. [3, 4] Função : Reaproveitar passos comuns entre diferentes fluxos. Sentido da seta : Do caso de uso principal ponta para o caso de uso incluído. Exemplo : "Sacar Dinheiro" e "Ver Saldo" obrigatoriamente incluem "Fazer Login". [5, 6] <<extend>> (Extensão) Serve para indicar que um caso de uso pode ou não ter seu comportamento ampliado por outro, dependendo de uma condição específica. [7] Função : Tratar fluxos opcionais, alternativos ou exceções sem poluir o fluxo principal. Sentido da seta : Do caso de uso opcional (extensão) ponta para o caso de uso principa...