Sök…


Verifiera ett returnerat värde

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

    Assert.AreEqual(5, result);
}

Tillståndsbaserad testning

Med tanke på denna enkla klass kan vi testa att ShaveHead metoden fungerar korrekt genom att hävda att HairLength är inställd på noll efter att ShaveHead metoden har kallats.

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);
}

Verifiera ett undantag kastas

Ibland är det nödvändigt att hävda när ett undantag kastas. Olika enhetstestningsramar har olika konventioner för att hävda att ett undantag kastades (som NUnit's Assert.Throws-metod). Detta exempel använder inga ramspecifika metoder, bara inbyggda i undantagshantering.

[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
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow