Метод AssertTrue() в Python: проверка истинности выражения

Рассмотрим, как использовать метод AssertTrue() в Python для проверки того, является ли выражение истинным, и метод AssertFalse() для проверки того, является ли выражение ложным.

Содержание

Введение в метод AssertTrue() в Python

AssertTrue() — это метод класса TestCase в модуле unittest. Метод AssertTrue() проверяет, является ли выражение истинным:

assertTrue(expr, msg=None)

Если выражение истинно, тест пройден.

msg не является обязательным. Если вы передадите параметр msg, он будет отображаться, если тест не пройден.

Метод AssertTrue() эквивалентен следующему выражению:

bool(expr) is True

И не эквивалентно следующему:

expr is True

На практике вам следует использовать метод AssertTrue() для проверки логического значения переменной. Кроме того, лучше не использовать метод AssertTrue(), если доступны более конкретные методы.

Например, вместо использования метода AssertTrue() в следующем случае:

assertTrue(a == b)

вам следует использовать метод AssertEqual():

assertEqual(a,b)

Потому что метод AssertEqual() обеспечивает более четкое сообщение об ошибке в случае непройденного теста.

Пример метода AssertTrue()

В следующем примере метод AssertTrue() используется для проверки того, все ли символы в строке являются цифрами:

import unittest


class TestBool(unittest.TestCase):
    def test_is_digit(self):
        str = '123'
        self.assertTrue(str.isdigit())

Запустите тест:

python -m unittest -v

Выход:

test_is_digit(test_bool.TestBool) ... ok

----------------------------------------------------------------------
Ran 1 test in 0.000s

OK

Метод AssertFalse() в Python

Метод AssertFalse() проверяет, является ли выражение ложным. Например:

import unittest


class TestBool(unittest.TestCase):
    def test_empty_string_is_digit(self):
        str = ''
        self.assertFalse(str.isdigit())

    def test_alpha_is_digit(self):
        str = 'a00'
        self.assertFalse(str.isdigit())

Запустите тест:

python -m unittest -v

Выход:

test_alpha_is_digit(test_bool.TestBool) ... ok
test_empty_string_is_digit(test_bool.TestBool) ... ok
test_is_digit(test_bool.TestBool) ... ok

----------------------------------------------------------------------
Ran 3 tests in 0.001s

OK
Похожие посты
Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *