[파이썬] unittest assertAlmostEqual 메서드 사용법

assertAlmostEqual 메서드는 Python의 테스트 프레임워크인 unittest에서 제공되는 유용한 메서드 중 하나입니다. 이 메서드는 두 개의 값이 거의 같은지를 판단해줍니다. 소수점 이하의 오차 범위 내에서 값을 비교할 때 유용하게 사용할 수 있습니다. 이번 글에서는 assertAlmostEqual 메서드의 사용법과 예제 코드를 살펴보겠습니다.

assertAlmostEqual 메서드 사용법

assertAlmostEqual 메서드는 다음과 같은 형식으로 작성됩니다:

assertAlmostEqual(first, second, places=7, msg=None, delta=None)

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()

위의 예제에서는 ab를 비교하고 있습니다. a는 0.1과 0.2를 더한 값이고, b는 0.3입니다. 이 두 값은 정확하게 같은 값이 아니기 때문에 assertAlmostEqual 메서드를 사용하여 비교합니다. places를 5로 설정하였기 때문에 두 값의 소수점 이하 5자리까지만 비교됩니다. 따라서 assertAlmostEqual은 이 비교를 통과하게 됩니다.

결과

위의 예제를 실행하면 테스트가 성공할 것입니다. 하지만 ab를 일반적인 비교 연산자로 비교하면 실패할 것입니다. assertAlmostEqual을 사용하면 소수점 이하의 오차를 고려하여 값을 비교할 수 있기 때문에 테스트 코드를 좀 더 견고하게 작성할 수 있습니다.

assertAlmostEqual 메서드는 테스트 코드에서 실수형 값들을 비교할 때 많이 사용됩니다. 소수점 이하의 정확도를 고려하여 값을 비교하고 싶을 때는 assertAlmostEqual을 적절히 활용해보세요.