C#:
Escribiendo pruebas
Cómo hacerlo:
Los desarrolladores de C# usan principalmente los marcos de trabajo NUnit o xUnit para escribir pruebas debido a su flexibilidad y extenso conjunto de características. Aquí hay un ejemplo básico utilizando NUnit para probar una simple función de adición:
- Instala NUnit y NUnit3TestAdapter a través del Administrador de Paquetes NuGet o la CLI de .NET:
dotnet add package NUnit
dotnet add package NUnit3TestAdapter
Crea un proyecto de biblioteca de clases C# si aún no lo has hecho.
Escribe una función simple para probar. Por ejemplo, un método de adición en una clase llamada
Calculator
:
public class Calculator
{
public int Add(int a, int b)
{
return a + b;
}
}
- Escribe una clase de prueba usando NUnit:
using NUnit.Framework;
namespace CalculatorTests
{
[TestFixture]
public class CalculatorTests
{
[Test]
public void Add_AddsTwoIntegers_ReturnsCorrectSum()
{
// Arrange (Preparar)
var calculator = new Calculator();
int expected = 5;
// Act (Actuar)
int actual = calculator.Add(2, 3);
// Assert (Afirmar)
Assert.AreEqual(expected, actual);
}
}
}
- Ejecuta la prueba usando el ejecutor de pruebas de tu IDE o la CLI de .NET:
dotnet test
Salida de Muestra:
Asumiendo que tu prueba sea exitosa, deberías ver una salida similar a esta:
Test Run Successful.
Total tests: 1
Passed: 1
Total time: 1.2345 Seconds
Usando xUnit:
Si prefieres xUnit, la configuración es similar a NUnit. Así es como reescribirías el ejemplo de prueba para la clase Calculator
usando xUnit:
- Instala xUnit y xUnit.runner.visualstudio:
dotnet add package xUnit
dotnet add package xUnit.runner.visualstudio
- Escribe una clase de prueba usando xUnit:
using Xunit;
namespace CalculatorTests
{
public class CalculatorTests
{
[Fact]
public void Add_AddsTwoIntegers_ReturnsCorrectSum()
{
// Arrange (Preparar)
var calculator = new Calculator();
int expected = 5;
// Act (Actuar)
int actual = calculator.Add(2, 3);
// Assert (Afirmar)
Assert.Equal(expected, actual);
}
}
}
- Ejecuta la prueba usando la CLI de .NET o el ejecutor de pruebas integrado en tu IDE.
Tanto NUnit como xUnit ofrecen características poderosas para pruebas parametrizadas, operaciones de configuración/finalización, y organización de pruebas en categorías, haciéndolos herramientas indispensables en el conjunto de herramientas del programador C# para asegurar la calidad y funcionalidad del código.