Szukaj…


Weryfikacja zwróconej wartości

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

    Assert.AreEqual(5, result);
}

Testy oparte na stanie

Biorąc pod uwagę tę prostą klasę, możemy przetestować, ShaveHead metoda ShaveHead działa poprawnie, stwierdzając, że stan zmiennej HairLength jest ustawiony na zero po ShaveHead metody 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);
}

Weryfikacja wyjątku jest zgłaszana

Czasami konieczne jest stwierdzenie, kiedy zostanie zgłoszony wyjątek. Różne ramy testowania jednostkowego mają różne konwencje dotyczące twierdzenia, że został zgłoszony wyjątek (podobnie jak metoda Assert.Throws firmy NUnit). W tym przykładzie nie użyto żadnych metod specyficznych dla frameworka, a jedynie wbudowano obsługę wyjątków.

[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
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow