Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este artículo, explorará cómo generar pruebas unitarias y proyectos de prueba en C# mediante el marco xUnit con la ayuda de comandos de Visual Studio y GitHub Copilot. El uso de Visual Studio en combinación con GitHub Copilot simplifica significativamente el proceso de generación y escritura de pruebas unitarias.
Creación de un proyecto de prueba
Imagine que hay una ProductService
clase con un GetProductById
método que depende de las IProductDataStorage
interfaces y ICacheClient
.
public class ProductService(
IProductDataStorage productDataStorage,
ICacheClient cacheClient)
{
public async Task<Product?> GetProductById(int productId)
{
var product = await cacheClient.GetProduct(productId);
if (product is not null)
{
return product;
}
product = await productDataStorage.GetProduct(productId);
if (product is not null)
{
await _cacheClient.SetProduct(product);
}
return product;
}
}
Para generar un proyecto de prueba y un método auxiliar, siga estos pasos:
- Seleccione el método .
- Haga clic con el botón derecho y seleccione Crear pruebas unitarias.
En el cuadro de diálogo Crear pruebas unitarias , seleccione xUnit en el menú desplegable Marco de pruebas .
Nota:
El comando Crear pruebas unitarias tiene como valor predeterminado el marco MSTest. Sin embargo, dado que en este ejemplo se usa xUnit, debe instalar la extensión de Visual Studio xUnit.net.TestGenerator2022.
- Si aún no tiene un proyecto de prueba, elija Nuevo proyecto de prueba o seleccione uno existente.
- Si es necesario, especifique una plantilla para el espacio de nombres, la clase y el nombre del método y, a continuación, haga clic en Aceptar.
Después de unos segundos, Visual Studio extraerá los paquetes necesarios y obtendrá un proyecto xUnit generado con los paquetes y la estructura necesarios, una referencia al proyecto que se está probando y la ProductServiceTests
clase y un método de código auxiliar.
Generar las pruebas por sí mismas
Vuelva a seleccionar el método que se está probando.
Haga clic con el botón derecho y seleccione Preguntar a Copilot.
Escriba un mensaje sencillo, como:
"Genere pruebas unitarias mediante xunit, nsubstitute e inserte el resultado en #ProductServiceTests archivo".
Debe seleccionar su clase de prueba cuando escriba el carácter
#
.
Sugerencia
Para la búsqueda rápida, es conveniente que ProductServiceTests
esté abierto en una pestaña independiente.
Ejecute la instrucción, haga clic en Aceptar y Copilot genera el código de prueba. Después de eso, queda por instalar los paquetes necesarios.
Cuando se instalan los paquetes, se pueden ejecutar las pruebas. En este ejemplo funcionó a la primera: Copilot sabe cómo trabajar con NSubstitute y todas las dependencias se definieron a través de interfaces.