assertAlmostEqual
메서드는 Python의 테스트 프레임워크인 unittest
에서 제공되는 유용한 메서드 중 하나입니다. 이 메서드는 두 개의 값이 거의 같은지를 판단해줍니다. 소수점 이하의 오차 범위 내에서 값을 비교할 때 유용하게 사용할 수 있습니다. 이번 글에서는 assertAlmostEqual
메서드의 사용법과 예제 코드를 살펴보겠습니다.
assertAlmostEqual 메서드 사용법
assertAlmostEqual
메서드는 다음과 같은 형식으로 작성됩니다:
assertAlmostEqual(first, second, places=7, msg=None, delta=None)
first
와second
는 비교할 두 개의 값입니다.places
는 소수점 이하의 비교할 자릿수를 정의합니다. 기본값은 7입니다.msg
는 비교 실패 시 출력될 에러 메시지입니다.delta
는 두 값 사이의 최대 허용 오차를 정의합니다.places
와 함께 사용할 경우delta
는 무시됩니다.
assertAlmostEqual 예제 코드
다음은 assertAlmostEqual
메서드를 사용하는 예제 코드입니다:
import unittest
class MyTest(unittest.TestCase):
def test_almost_equal(self):
a = 0.1 + 0.2
b = 0.3
self.assertAlmostEqual(a, b, places=5)
if __name__ == '__main__':
unittest.main()
위의 예제에서는 a
와 b
를 비교하고 있습니다. a
는 0.1과 0.2를 더한 값이고, b
는 0.3입니다. 이 두 값은 정확하게 같은 값이 아니기 때문에 assertAlmostEqual
메서드를 사용하여 비교합니다. places
를 5로 설정하였기 때문에 두 값의 소수점 이하 5자리까지만 비교됩니다. 따라서 assertAlmostEqual
은 이 비교를 통과하게 됩니다.
결과
위의 예제를 실행하면 테스트가 성공할 것입니다. 하지만 a
와 b
를 일반적인 비교 연산자로 비교하면 실패할 것입니다. assertAlmostEqual
을 사용하면 소수점 이하의 오차를 고려하여 값을 비교할 수 있기 때문에 테스트 코드를 좀 더 견고하게 작성할 수 있습니다.
assertAlmostEqual
메서드는 테스트 코드에서 실수형 값들을 비교할 때 많이 사용됩니다. 소수점 이하의 정확도를 고려하여 값을 비교하고 싶을 때는 assertAlmostEqual
을 적절히 활용해보세요.