AssertIsNone() — это метод класса TestCase модуля unittest в Python для проверки того, имеет ли выражение значение None.
Как использовать метод AssertIsNone() в Python?
Проверка AssertIsNone(), если выражение имеет значение None:
assertIsNone(expr, msg=None)
Если expr равен None, тест пройден. msg не является обязательным. Это будет отображено в результатах теста, если тест не пройден.
Примеры метода Python AssertIsNone()
Давайте рассмотрим несколько примеров использования метода AssertIsNone().
1) Использование AssertIsNone() в случае успеха
В следующем примере метод AssertIsNone() используется для проверки того, имеет ли переменная сообщения значение None:
import unittest
class TestNone(unittest.TestCase):
def test_variable_none(self):
message = None
self.assertIsNone(message)
Запустите тест:
python -m unittest -v
Выход:
test_variable_none(test_none.TestNone) ... ok ---------------------------------------------------------------------- Ran 1 test in 0.000s
2) Использование AssertIsNone() в случае неудачи
В следующем примере метод AssertIsNone() используется для проверки того, имеет ли переменная сообщения значение None:
import unittest
class TestNone(unittest.TestCase):
def test_variable_not_none(self):
message="Hello"
self.assertIsNone(message)
Запустите тест:
python -m unittest -v
Выход:
test_variable_not_none(test_none.TestNone) ... FAIL
======================================================================
FAIL: test_variable_not_none(test_none.TestNone)
----------------------------------------------------------------------
Traceback(most recent call last):
File "D:\python-unit-testing\test_none.py", line 7, in test_variable_not_none
self.assertIsNone(message)
AssertionError: 'Hello' is not None
----------------------------------------------------------------------
Ran 1 test in 0.001s
FAILED(failures=1)
Поскольку сообщение «Hello» не имеет значения «None», тест провалился.
3) Пример AssertIsNone() в случае провала с сообщением
В следующем примере метод AssertIsNone() используется для проверки того, имеет ли переменная сообщения значение None. Кроме того, мы показываем сообщение, когда тест не пройден:
import unittest
class TestNone(unittest.TestCase):
def test_variable_not_none(self):
message="Hello"
self.assertIsNone(
message,
f'The message is "{message}" so it is not None.'
)
Запустите тест:
python -m unittest -v
Выход:
test_variable_not_none(test_none.TestNone) ... FAIL
======================================================================
FAIL: test_variable_not_none(test_none.TestNone)
----------------------------------------------------------------------
Traceback(most recent call last):
File "D:\python-unit-testing\test_none.py", line 7, in test_variable_not_none
self.assertIsNone(
AssertionError: 'Hello' is not None : The message is "Hello" so it is not None.
----------------------------------------------------------------------
Ran 1 test in 0.001s
FAILED(failures=1)
Метод AssertIsNotNone() в Python
Метод AssertIsNotNone() является противоположностью метода AssertIsNone(). Метод AssertIsNotNone() проверяет, не является ли переменная None.
assertIsNotNone(expr, msg=None)
Тест считается пройденным, если выражение не равно None, или не пройден в противном случае. Например:
import unittest
class TestNone(unittest.TestCase):
def test_variable_is_not_none(self):
message="Bye"
self.assertIsNotNone(message)
Запустите тест:
python -m unittest -v
Выход:
test_variable_is_not_none(test_not_none.TestNone) ... ok ---------------------------------------------------------------------- Ran 1 test in 0.001s OK
