How to Assert Almost Equal in Pytest?

Better Stack Team
Updated on July 18, 2024

To assert almost equal in Pytest, use the approx() method. This is useful for floating-point comparisons that may involve small rounding errors. Here's how to use it:

 
import pytest

def test_approx_equal():
    assert 3.1 == pytest.approx(3.2, abs=0.2)

You can place pytest.approx() on either side of the comparison:

 
def test_approx_equal_reversed():
    assert pytest.approx(3.2, abs=0.2) == 3.1

approx() also works with lists, tuples, and other sequences:

 
def test_approx_equal_list():
    assert [0.1 + 0.3, 0.2 + 0.5] == pytest.approx([0.4, 0.7])

To learn more about Pytest, check out the beginner's guide to Pytest.