Archivo

Archive for the ‘Programación’ Category

Coverlet, cobertura de pruebas unitarias para .NET

septiembre 10, 2019 Deja un comentario

Medir la covertura de las pruebas unitarias en nuestro código es un tema muy importante pues nos permite saber que tan bien estamos diseñando las pruebas y el alcance que estas tienen en los flujos que puede tener un método o rutina.

Coverlet  es una excelente herramieta para este trabajo y nos minimiza todo el proceso a solo unos cuantos comandos.

Coverlet es un proyecto completamente Opensource que soporta .NET Framework y támbien .NET Core. Pueden revisar el repositorio oficial en github https://github.com/tonerdo/coverlet

Para comenzar con Coverlet debemos instalar el NuGet en nuestro proyecto. Coverlet tienes varias formas de ser usada pero yo sugiero implementar la integración  con MSBuild ya que es mucho mas fácil.

Para ello debes usar el siguiente comando:

dotnet add package coverlet.msbuild

Una vez agregamos el NuGet podemos utilizar la integración con MSBuild para ejecutar las pruebas y también el cubrimiento.  El comando para la ejecución  de pruebas en netcore es dotnet test vamos agregar a este comando el parametro CollectetCoverage=true

dotnet test /p:CollectCoverage=true

Obtendremos un resultado parecido al siguiente:

Screen Shot 2019-09-09 at 9.57.20 PM.png

Interpretamos el resultado de la siguiente manera:

En la primera sección identificamos los modulos que hacen parte del set de pruebas y que al final representan los namespaces y en el segundo un total y un promedio de todos los módulos.

En el detalle tenemos Line porcentaje de líneas de código cubiertas por las pruebas unitarias, Branch se refiere al número de sentencias o declaraciones cubiertas es decir condicionales, ciclos, etc… y Method Porcentaje de métodos cubiertos.

Coverlet genera un archivo coverage.json con la información que aparece en pantalla para consumirlo por alguna aplicación externa si así  lo queremos.

En resumen Coverlet nos ayuda a medir la covertura de una manera sencilla en nuestro proyecto algo que aveces se complica o en el que debemos usar herramientas de pago externas.

Anuncios

Tips (Consejos y trucos en visual studio)

diciembre 31, 2017 Deja un comentario

 

Estado de .Net para el 2018

diciembre 6, 2017 1 comentario

Nota importante este articulo esta basado en el articulo publicado por Telerik “The State of .NET in 2018” 

La siguiente gráfica podemos observar el estado  de las tecnologías, plataformas y herramientas de desarrollo que tenemos a disposición en .Net y que tendremos para el próximo año:

2017-12-05_1658

Como vemos en la gráfica tenemos 3 grandes bloques para construir aplicaciones basadas en las .NET Standard library  las librerías base con todos los componentes de .Net, y en herramientas ahora con aclamado Visual Code multiplaforma que se ha convertido en el favorito de los desarrolladores.

.Net Standard Library juega un papel muy importante en el presente y futuro de .net ya que este evita que se genere la fragmentación que se tenia por las diferentes plataformas, especialmente por la ultima que adquirida por Microsoft que fue Xamarin.

2017-12-05_1708

La Standard Library es la librería base de todos los proyectos en .Net independiente de la plataforma utilizada y estas se complementan usando Nugets y librerías especificas para cada una. 2017-12-05_1715

El gráfica anterior podemos ver las diferentes versiones de .Net Standard y  la compatibilidad con las diferentes versiones de cada una de las plataformas existentes, como podemos ver UWP no tiene soporte aun pero se espera que pronto lo tenga.

.Net Core 2.0 ultima versión lanzada de esta plataforma tiene muchas mejoras de compatibilidad con respecto a las APIs que solíamos usar en .Net Framework,  de momento solo 43 APIs no están soportadas en .NET core así que la posibilidad de migrarse se facilita mucho:

2017-12-05_1745

XAML es utilizado en tecnologias Microsoft para el diseño de interfaces en WPF, UWP y Xamarin sin embargo tiene un fragmentación latente en cada una de ellas por ejemplo podemos ver en UWP vs Xamarin lo siguiente:

UWP              -      Xamarin

StackPanel      vs     StackLayout

TextBlock        vs      Label

Esto provoca que se haga dificil reutilizar este código de lado a lado de manera fácil.

XAML Standard llega como la solución a este problema como una especificación única para todas tecnologías que usen XAML

Aun no se tiene una fecha exacta de la primera versión de XAML  Standard pero ya se tienen los repositorios para tal fin  https://github.com/Microsoft/xaml-standard

Angular y React ahora son mas fáciles de utilizar para los .Net developers puesto que con .Net core tenemos 2 templetes que nos permiten utilizar un proyecto base conectado directamente a un Web Api. Tenemos las opciones de Angular, React.js y React.Js and Redux

2017-12-06_1515

Un C# fortalecido en las versiones 7.X y una futura versión 8.0.  Este lenguaje de programación sigue creciendo con nuevas funcionalidades que ya tienen algunos otros lenguajes y alejándose de estigma de ser una copia barata de Java

En el siguiente link puedes encontrar un post anterior con todos los cambios de C#:

https://mteheran.wordpress.com/2017/12/01/features-c-7-0-7-1-7-2/

 

UWP ha logrado unificar todos los dispositivos Microsoft en torno a un único sistema operativo que es Windows 10. Obviamente las capacidades de un dispositivo de Iot son diferentes a las de un PC o Xbox pero afortunadamente con las Extensions SDK podemos extender las funcionalidades de la App que estemos desarrollando para cada uno de las plataformas.

2017-12-06_1541

 

La conclusión al final es que se pinta un 2018 con muchas cosas interesantes por de Microsoft y sus tecnologías. Y si a todo esto agregamos los servicios de Azure tenemos todo un ecosistema robusto para trabajar con nuestras aplicaciones incluyendo tecnologías no creadas por Microsoft.

Sin embargo para todos los developers se hace necesario estar actualizado de los cambios que se presentan y empezar ha utilizar tecnologías como .Net Core desde este momento para sacarle provecho.

 

De Back-end a Full-stack

diciembre 6, 2017 Deja un comentario

XSLT – The complete Guide

diciembre 5, 2017 Deja un comentario

XML The complete guide

diciembre 4, 2017 Deja un comentario

Features C# 7.0, 7.1, 7.2

diciembre 1, 2017 3 comentarios