unit-testing
어설 션 유형
수색…
반환 값 확인
[Test]
public void Calculator_Add_ReturnsSumOfTwoNumbers()
{
Calculator calculatorUnderTest = new Calculator();
double result = calculatorUnderTest.Add(2, 3);
Assert.AreEqual(5, result);
}
상태 기반 테스트
이 간단한 클래스가 주어지면 ShaveHead
메서드가 호출 된 후 HairLength
변수의 상태가 0으로 설정되어 있다고 가정하여 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);
}
예외가 발생했는지 확인
때로는 예외가 발생했을 때이를 어설 션해야합니다. 다른 단위 테스트 프레임 워크는 예외가 발생했다고 주장하기 위해 (NUnit의 Assert.Throws 메서드와 같이) 다른 규칙을 사용합니다. 이 예제는 예외 처리에서 구축 된 프레임 워크 특정 메소드를 사용하지 않습니다.
[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
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow