[c#] 코드 테스팅 스타일
단위 테스트(Unit Testing)
단위 테스트는 소스 코드의 개별 단위, 보통은 메소드를 테스트하는 방법입니다.
[Test]
public void TestAddition()
{
Calculator calculator = new Calculator();
int result = calculator.Add(3, 5);
Assert.AreEqual(8, result);
}
위의 예시에서 TestAddition
메소드는 Calculator
클래스의 Add
메소드를 테스트합니다. Assert.AreEqual
을 사용하여 예상 결과와 실제 결과를 비교합니다.
통합 테스트(Integration Testing)
통합 테스트는 여러 컴포넌트 간의 상호 작용을 테스트하는 것으로, 단위 테스트 이후에 이루어집니다.
[Test]
public void TestUserServiceIntegration()
{
UserService userService = new UserService();
User user = userService.GetUser(123);
Assert.IsNotNull(user);
}
위 예제는 UserService
클래스의 GetUser
메소드를 테스트합니다.
인수 테스트(Acceptance Testing)
인수 테스트는 사용자의 요구사항을 충족하는지 여부를 테스트합니다.
[Test]
public void TestLoginFeature()
{
UserCredentials credentials = new UserCredentials("username", "password");
bool isLoggedIn = LoginService.Login(credentials);
Assert.IsTrue(isLoggedIn);
}
위의 예시는 로그인 기능을 테스트하는 예제입니다.
이러한 다양한 테스팅 스타일을 조합하여 코드의 안정성 및 신뢰성을 높일 수 있습니다.
더 많은 내용을 알고 싶으시다면, 마틴 파울러(Martin Fowler)의 ‘테스팅 스타일’(Testing Style)을 참고하시기 바랍니다.