Buscar..


Verificando un valor devuelto

[Test]
public void Calculator_Add_ReturnsSumOfTwoNumbers()
{
    Calculator calculatorUnderTest = new Calculator();
  
    double result = calculatorUnderTest.Add(2, 3);

    Assert.AreEqual(5, result);
}

Pruebas basadas en el estado

Dada esta clase simple, podemos probar que el método ShaveHead funciona correctamente al afirmar que el estado de la variable HairLength se establece en cero después de ShaveHead método ShaveHead .

public class Person
{
    public string Name;
    public int HairLength;
    
    public Person(string name, int hairLength)
    {
        this.Name = name;
        this.HairLength = hairLength;
    }
    
    public void ShaveHead()
    {
        this.HairLength = 0;
    }
}

[Test]
public void Person_ShaveHead_SetsHairLengthToZero()
{
    Person personUnderTest = new Person("Danny", 10);
    
    personUnderTest.ShaveHead();
    
    int hairLength = personUnderTest.HairLength;
    
    Assert.AreEqual(0, hairLength);
}

Verificando que una excepción es lanzada

A veces es necesario afirmar cuando se lanza una excepción. Los distintos marcos de prueba de unidad tienen diferentes convenciones para afirmar que se lanzó una excepción (como el método Assert.Throws de NUnit). Este ejemplo no utiliza ningún método específico del marco, solo está integrado en el manejo de excepciones.

[Test]
public void GetItem_NegativeNumber_ThrowsArgumentInvalidException
{
    ShoppingCart shoppingCartUnderTest = new ShoppingCart();
    shoppingCartUnderTest.Add("apple");
    shoppingCartUnderTest.Add("banana");
    
    double invalidItemNumber = -7;
    
    bool exceptionThrown = false;
    
    try
    {
        shoppingCartUnderTest.GetItem(invalidItemNumber);
    }
    catch(ArgumentInvalidException e)
    {
        exceptionThrown = true;
    }
    
    Assert.True(exceptionThrown);
}


Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow