Labs ICT
โญ Pro Login

assertEqual & assertNotEqual

Testing equality and inequality of values

assertEqual & assertNotEqual

assertEqual(a, b) verifies that two values are equal, while assertNotEqual(a, b) verifies they are not equal. These are the most commonly used assertions in unittest.

Basic Usage

import unittest

class TestEquality(unittest.TestCase):
    def test_equal_numbers(self):
        self.assertEqual(2 + 2, 4)

    def test_not_equal_strings(self):
        self.assertNotEqual("hello", "world")

    def test_equal_lists(self):
        self.assertEqual([1, 2, 3], [1, 2, 3])

    def test_not_equal_dicts(self):
        self.assertNotEqual({"a": 1}, {"b": 2})

Custom Failure Messages

def test_user_age(self):
    user_age = 25
    self.assertEqual(
        user_age, 18,
        f"Expected age 18 but got {user_age}"
    )

def test_status_code(self):
    response_code = 500
    self.assertEqual(
        response_code, 200,
        f"Expected 200 OK but got {response_code}"
    )

What Can Be Compared

  • Numbers: assertEqual(1, 1)
  • Strings: assertEqual("a", "a")
  • Lists, tuples, sets: assertEqual([1], [1])
  • Dictionaries: assertEqual({"k": "v"}, {"k": "v"})
  • Objects: compares using __eq__ method

Key Takeaway

Use assertEqual and assertNotEqual for value comparisons. Always include a descriptive failure message to quickly identify test failures.

๐Ÿงช Quick Quiz

Which assertion checks if two values are equal?