assertEqual()
и assertNotEqual()
в unittest
используются для проверки равенства и неравенства соответственно.
assertEqual(a, b)
проверяет, что a == b
. В случае, если это не так, тест проваливается.assertNotEqual(a, b)
проверяет, что a != b
. В случае, если это не так, тест проваливается.AssertionError
при провале проверки.
unittest
в Python, методы assertEqual()
и assertNotEqual()
являются частью набора методов проверки (assertion methods), предоставляемых классом TestCase
. Они используются для проверки ожидаемых результатов в ваших тестах.
assertEqual(a, b, msg=None)
a
и b
. Если значения a == b
, то тест считается пройденным (passed). Если же значения не равны, то тест завершается неудачей (failed) с выбросом исключения AssertionError
. Необязательный аргумент msg
позволяет добавить пользовательское сообщение, которое будет включено в вывод ошибки в случае неудачи теста.
Пример:
import unittest
class MyTest(unittest.TestCase):
def test_equality(self):
self.assertEqual(2 + 2, 4, "Сумма 2 + 2 должна быть равна 4")
self.assertEqual("hello", "hello")
assertNotEqual(a, b, msg=None)
assertNotEqual(a, b)
выполняет противоположную проверку. Он проверяет, что значения a
и b
не равны. Если a != b
, то тест считается пройденным. Если же a == b
, то тест завершается неудачей с выбросом исключения AssertionError
. Как и assertEqual()
, он принимает необязательный аргумент msg
для пользовательского сообщения об ошибке.
Пример:
import unittest
class MyTest(unittest.TestCase):
def test_inequality(self):
self.assertNotEqual(2 + 2, 5, "Сумма 2 + 2 не должна быть равна 5")
self.assertNotEqual("hello", "world")
Ключевое различие:
assertEqual()
проверяет, что два значения равны.assertNotEqual()
проверяет, что два значения не равны.