tf.test.TestCase
| Просмотреть исходный код на GitHub |
Базовый класс для тестов, которые необходимо выполнить для тестирования TensorFlow.
tf.test.TestCase(
methodName='runTest'
)
Дочерние классы
Методы
addCleanup
addCleanup(
*args, **kwargs
)
Добавить функцию с аргументами, которая будет вызвана при завершении теста. Добавляемые функции вызываются в порядке LIFO и вызываются после tearDown при ошибке или успехе теста.
Элементы очистки вызываются даже если setUp завершился ошибкой (в отличие от tearDown).
addTypeEqualityFunc
addTypeEqualityFunc(
typeobj, function
)
Добавить функцию проверки типа assertEqual для сравнения типа.
Этот метод предназначен для использования подклассами TestCase, которые должны зарегистрировать свои собственные функции сравнения типов для предоставления более информативных сообщений об ошибках.
| Аргументы | |
|---|---|
typeobj | Тип данных для вызова этой функции, когда оба значения имеют одинаковый тип в assertEqual(). |
function | Вызываемый объект, принимающий два аргумента и необязательный аргумент msg=, который вызывает self.failureException с полезным сообщением об ошибке, когда два аргумента не равны. |
assertAllClose
assertAllClose(
a, b, rtol=1e-06, atol=1e-06, msg=None
)
Проверяет, что две структуры numpy-массивов или тензоров имеют близкие значения.
a и b могут быть произвольно вложенными структурами. Слой вложенной структуры может быть dict, namedtuple, tuple или list.
Примечание: Реализация следуетnumpy.allclose(и numpy.testing.assert_allclose). Она проверяет, являются ли два массива поэлементно равными с точностью до определенной погрешности. Относительная погрешность (rtol * abs(b)) и абсолютная погрешностьatolскладываются, чтобы сравнить их с абсолютной погрешностью междуaиb.
| Аргументы | |
|---|---|
a | Ожидаемый numpy ndarray, или любой объект, который может быть преобразован в numpy ndarray (включая тензор), или любая произвольно вложенная структура этих объектов. |
b | Фактический numpy ndarray, или любой объект, который может быть преобразован в numpy ndarray (включая тензор), или любая произвольно вложенная структура этих объектов. |
rtol | Относительная погрешность. |
atol | Абсолютная погрешность. |
msg | Необязательное сообщение для отчета об ошибке. |
| Возможные исключения | |
|---|---|
ValueError | Если только один из a[p] и b[p] является словарем или a[p] и b[p] имеют разную длину, где [p] обозначает путь к вложенной структуре, например, задано a = [(1, 1), {'d': (6, 7)}] и [p] = [1]['d'], тогда a[p] = (6, 7). |
assertAllCloseAccordingToType
assertAllCloseAccordingToType(
a, b, rtol=1e-06, atol=1e-06, float_rtol=1e-06, float_atol=1e-06,
half_rtol=0.001, half_atol=0.001, bfloat16_rtol=0.01, bfloat16_atol=0.01,
msg=None
)
Подобно assertAllClose, но также подходит для сравнения массивов fp16.
В частности, погрешность уменьшается до 1e-3, если хотя бы один из аргументов имеет тип float16.
| Аргументы | |
|---|---|
a | Ожидаемый numpy ndarray или любой объект, преобразуемый в него. |
b | Фактический numpy ndarray или любой объект, преобразуемый в него. |
rtol | Относительная погрешность. |
atol | Абсолютная погрешность. |
float_rtol | Относительная погрешность для float32. |
float_atol | Абсолютная погрешность для float32. |
half_rtol | Относительная погрешность для float16. |
half_atol | Абсолютная погрешность для float16. |
bfloat16_rtol | Относительная погрешность для bfloat16. |
bfloat16_atol | Абсолютная погрешность для bfloat16. |
msg | Необязательное сообщение для отчета об ошибке. |
assertAllEqual
assertAllEqual(
a, b, msg=None
)
Проверяет, что два массива NumPy или тензора имеют одинаковые значения.
| Аргументы | |
|---|---|
a | ожидаемый массив NumPy ndarray или что-либо, что можно преобразовать в него. |
b | фактический массив NumPy ndarray или что-либо, что можно преобразовать в него. |
msg | Необязательное сообщение для отчета об ошибке. |
assertAllGreater
assertAllGreater(
a, comparison_target
)
Проверка, что все значения элементов больше целевого значения.
| Аргументы | |
|---|---|
a | Массив NumPy, или что-либо, что можно преобразовать в массив NumPy (включая тензор). |
comparison_target | Целевое значение сравнения. |
assertAllGreaterEqual
assertAllGreaterEqual(
a, comparison_target
)
Проверка, что все значения элементов больше или равны целевому значению.
| Аргументы | |
|---|---|
a | Массив NumPy, или что-либо, что можно преобразовать в массив NumPy (включая тензор). |
comparison_target | Целевое значение сравнения. |
assertAllInRange
assertAllInRange(
target, lower_bound, upper_bound, open_lower_bound=False, open_upper_bound=False
)
Проверка, что все элементы тензора находятся в заданном диапазоне.
| Аргументы | |
|---|---|
target | Массив NumPy, или что-либо, что можно преобразовать в массив NumPy (включая тензор). |
lower_bound | нижняя граница диапазона |
upper_bound | верхняя граница диапазона |
open_lower_bound | (bool) открыта ли нижняя граница (т.е., > вместо по умолчанию >=) |
open_upper_bound | (bool) открыта ли верхняя граница (т.е., < вместо по умолчанию <=) |
| Возможные исключения | |
|---|---|
AssertionError | если тензор значений не имеет упорядоченного числового типа (float* или int*), или если есть значения nan, или если какой-либо элемент не попадает в указанный диапазон. |
assertAllInSet
assertAllInSet(
target, expected_set
)
Проверка, что все элементы тензора находятся в заданном замкнутом множестве.
| Аргументы | |
|---|---|
target | Массив NumPy, или что-либо, что можно преобразовать в массив NumPy (включая тензор). |
expected_set | (list, tuple или set) Замкнутое множество, в которое, как ожидается, попадут элементы значения target. |
| Возможные исключения | |
|---|---|
AssertionError | если какой-либо элемент не попадает в expected_set. |
assertAllLess
assertAllLess(
a, comparison_target
)
Проверка, что все значения элементов меньше целевого значения.
| Аргументы | |
|---|---|
a | Массив NumPy ndarray, или любой объект, преобразуемый в массив NumPy ndarray (включая Tensor). |
comparison_target | Целевое значение для сравнения. |
assertAllLessEqual
assertAllLessEqual(
a, comparison_target
)
Проверка, что все элементы значения меньше или равны целевому значению.
| Аргументы | |
|---|---|
a | Массив NumPy ndarray, или любой объект, преобразуемый в массив NumPy ndarray (включая Tensor). |
comparison_target | Целевое значение для сравнения. |
assertAlmostEqual
assertAlmostEqual(
first, second, places=None, msg=None, delta=None
)
Проверка, что два объекта равны с заданной точностью (по умолчанию 7 десятичных знаков), сравнивая их разницу с нулём, или что разница между ними меньше заданного значения delta.
Обратите внимание, что десятичные знаки (от нуля) обычно не совпадают с значащими цифрами (измеряемыми от наиболее значимой цифры).
Если два объекта равны, то они автоматически считаются почти равными.
assertAlmostEquals
assertAlmostEquals(
*args, **kwargs
)
assertArrayNear
assertArrayNear(
farray1, farray2, err, msg=None
)
Проверка, что два массива с плавающей точкой близки друг к другу.
Проверяет, что для всех элементов farray1 и farray2 |f1 - f2| < err. Выдает ошибку, если не так.
| Аргументы | |
|---|---|
farray1 | Список значений с плавающей точкой. |
farray2 | Список значений с плавающей точкой. |
err | Значение с плавающей точкой. |
msg | Необязательное сообщение для отчёта о сбое. |
assertBetween
assertBetween(
value, minv, maxv, msg=None
)
Проверяет, что значение находится между minv и maxv (включительно).
assertCommandFails
assertCommandFails(
command, regexes, env=None, close_fds=True, msg=None
)
Проверка, что командный интерпретатор завершается с ошибкой, и сообщение об ошибке соответствует регулярному выражению в списке.
| Аргументы | |
|---|---|
command | Список или строка, представляющая команду для выполнения. |
regexes | Список строк регулярных выражений. |
env | Словарь настроек переменных среды. Если None, переменные среды для дочернего процесса не будут установлены. Это делает тесты более автономными. ПРИМЕЧАНИЕ: это поведение отличается от стандартного модуля subprocess. |
close_fds | Нужно ли закрывать все открытые дескрипторы файлов в дочернем процессе после разветвления. |
msg | Необязательное сообщение для отчёта о сбое. |
assertCommandSucceeds
assertCommandSucceeds(
command, regexes=(b'',), env=None, close_fds=True, msg=None
)
Проверяет, что командный интерпретатор завершается успешно (т. е. завершается с кодом 0).
| Аргументы | |
|---|---|
command | Список или строка, представляющая команду для выполнения. |
regexes | Список строк регулярных выражений, соответствующих успеху. |
env | Словарь настроек переменных среды. Если None, переменные среды для дочернего процесса не будут установлены. Это делает тесты более автономными. ПРИМЕЧАНИЕ: это поведение отличается от стандартного модуля subprocess. |
close_fds | Нужно ли закрывать все открытые дескрипторы файлов в дочернем процессе после разветвления. |
msg | Необязательное сообщение для отчёта о сбое. |
assertContainsExactSubsequence
assertContainsExactSubsequence(
container, subsequence, msg=None
)
Проверяет, что "container" содержит "subsequence" как точную подпоследовательность.
Проверяет, что "container" содержит все элементы "subsequence" в том же порядке, без других элементов между ними. Например, [1, 2, 3] является точной подпоследовательностью [0, 0, 1, 2, 3, 0], но не [0, 0, 1, 2, 0, 3, 0].
| Аргументы | |
|---|---|
container | Список, для которого проверяется включение подпоследовательности. |
subsequence | Список, который должен быть точной подпоследовательностью container. |
msg | Необязательное сообщение для отчёта о сбое. |
assertContainsInOrder
assertContainsInOrder(
strings, target, msg=None
)
Проверяет, что заданные строки находятся в целевой строке в указанном порядке.
Это может быть полезно для проверки выходных данных HTML.
| Аргументы | |
|---|---|
strings | Список строк, например [ 'лиса', 'собака' ] |
target | Целевая строка, в которой искать строки, например 'Быстрая рыжая лиса перепрыгнула через ленивую собаку'. |
msg | Необязательное сообщение для отчёта о сбое. |
assertContainsSubsequence
assertContainsSubsequence(
container, subsequence, msg=None
)
Проверяет, что "container" содержит "subsequence" как подпоследовательность.
Проверяет, что "container" содержит все элементы "subsequence" в том же порядке, но, возможно, с другими элементами между ними. Например, [1, 2, 3] является подпоследовательностью [0, 0, 1, 2, 0, 3, 0], но не [0, 0, 1, 3, 0, 2, 0].
| Аргументы | |
|---|---|
container | Список, для которого проверяется включение подпоследовательности. |
subsequence | Список, который должен быть подпоследовательностью container. |
msg | Необязательное сообщение для отчёта о сбое. |
assertContainsSubset
assertContainsSubset(
expected_subset, actual_set, msg=None
)
Проверяет, является ли actual iterable надмножеством expected iterable.
assertCountEqual
assertCountEqual(
first, second, msg=None
)
Сравнение последовательностей без учёта порядка, проверяя, что элементы одинаковы (и встречаются одинаковое количество раз).
self.assertEqual(Counter(list(first)),
Counter(list(second)))
Пример:
- [0, 1, 1] and [1, 0, 1] compare equal. - [0, 0, 1] and [0, 1] compare unequal.
assertDTypeEqual
assertDTypeEqual(
target, expected_dtype
)
Проверка, что тип данных ndarray равен ожидаемому.
| Аргументы | |
|---|---|
target | Массив NumPy ndarray, или любой объект, преобразуемый в массив NumPy ndarray (включая Tensor). |
expected_dtype | Ожидаемый тип данных. |
assertDeviceEqual
assertDeviceEqual(
device1, device2, msg=None
)
Проверяет, что два заданных устройства идентичны.
| Аргументы | |
|---|---|
device1 | Имя устройства в виде строки или объект TensorFlow DeviceSpec. |
device2 | Имя устройства в виде строки или объект TensorFlow DeviceSpec. |
msg | Необязательное сообщение для отчёта о сбое. |
assertDictContainsSubset
assertDictContainsSubset(
subset, dictionary, msg=None
)
Проверка, является ли словарь надмножеством подмножества.
assertDictEqual
assertDictEqual(
a, b, msg=None
)
Вызывает AssertionError, если a и b не являются равными словарями.
| Аргументы | |
|---|---|
a | Словарь, ожидаемое значение. |
b | Словарь, фактическое значение. |
msg | Необязательная строка, связанное сообщение. |
| Возбуждает | |
|---|---|
AssertionError | если словари не равны. |
assertEmpty
assertEmpty(
container, msg=None
)
Проверяет, что объект имеет нулевую длину.
| Аргументы | |
|---|---|
container | Любой объект, реализующий интерфейс collections.abc.Sized. |
msg | Необязательное сообщение для отчёта о сбое. |
assertEndsWith
assertEndsWith(
actual, expected_end, msg=None
)
Проверяет, что actual.endswith(expected_end) равно True.
| Аргументы | |
|---|---|
actual | str |
expected_end | str |
msg | Дополнительное сообщение об ошибке. |
assertEqual
assertEqual(
first, second, msg=None
)
Не проходит, если два объекта не равны по оператору '=='.
assertEquals
assertEquals(
*args, **kwargs
)
assertFalse
assertFalse(
expr, msg=None
)
Проверяет, что выражение ложно.
assertGreater
assertGreater(
a, b, msg=None
)
Аналогично self.assertTrue(a > b), но с более удобным сообщением по умолчанию.
assertGreaterEqual
assertGreaterEqual(
a, b, msg=None
)
Аналогично self.assertTrue(a >= b), но с более удобным сообщением по умолчанию.
assertIn
assertIn(
member, container, msg=None
)
Аналогично self.assertTrue(a in b), но с более удобным сообщением по умолчанию.
assertIs
assertIs(
expr1, expr2, msg=None
)
Аналогично self.assertTrue(a is b), но с более удобным сообщением по умолчанию.
assertIsInstance
assertIsInstance(
obj, cls, msg=None
)
То же, что и self.assertTrue(isinstance(obj, cls)), но с более удобным сообщением по умолчанию.
assertIsNone
assertIsNone(
obj, msg=None
)
Аналогично self.assertTrue(obj is None), но с более удобным сообщением по умолчанию.
assertIsNot
assertIsNot(
expr1, expr2, msg=None
)
Аналогично self.assertTrue(a is not b), но с более удобным сообщением по умолчанию.
assertIsNotNone
assertIsNotNone(
obj, msg=None
)
Включено для симметрии с assertIsNone.
assertItemsEqual
assertItemsEqual(
first, second, msg=None
)
Сравнение последовательностей без учёта порядка, утверждая, что элементы одинаковы независимо от порядка. Если один и тот же элемент встречается более одного раза, проверяется, что элементы встречаются одинаковое количество раз.
self.assertEqual(Counter(list(first)),
Counter(list(second)))
Пример:
- [0, 1, 1] and [1, 0, 1] compare equal. - [0, 0, 1] and [0, 1] compare unequal.
assertJsonEqual
assertJsonEqual(
first, second, msg=None
)
Утверждает, что JSON-объекты, определённые в двух строках, равны.
Резюме различий будет включено в сообщение об ошибке с использованием assertSameStructure.
| Аргументы | |
|---|---|
first | Строка, содержащая JSON для декодирования и сравнения со второй строкой. |
second | Строка, содержащая JSON для декодирования и сравнения с первой строкой. |
msg | Дополнительный текст для включения в сообщение об ошибке. |
assertLen
assertLen(
container, expected_len, msg=None
)
Утверждает, что у объекта ожидаемая длина.
| Аргументы | |
|---|---|
container | Любой объект, реализующий интерфейс collections.abc.Sized. |
expected_len | Ожидаемая длина контейнера. |
msg | Необязательное сообщение об ошибке. |
assertLess
assertLess(
a, b, msg=None
)
Аналогично self.assertTrue(a < b), но с более удобным сообщением по умолчанию.
assertLessEqual
assertLessEqual(
a, b, msg=None
)
Аналогично self.assertTrue(a <= b), но с более удобным сообщением по умолчанию.
assertListEqual
assertListEqual(
list1, list2, msg=None
)
Утверждение равенства списков.
| Аргументы | |
|---|---|
list1 | Первый список для сравнения. |
list2 | Второй список для сравнения. |
msg | Необязательное сообщение об ошибке вместо списка различий. |
assertLogs
assertLogs(
logger=None, level=None
)
Не проходит, если сообщение журнала уровня level или выше не отправлено в logger_name или его потомках. Если опущено, level по умолчанию имеет значение INFO, а logger — корневой журнал.
Этот метод должен использоваться как менеджер контекста и предоставит объект записи с двумя атрибутами: output и records. В конце менеджера контекста атрибут output будет списком совпадающих отформатированных сообщений журнала, а атрибут records — списком соответствующих объектов LogRecord.
Пример::
with self.assertLogs('foo', level='INFO') as cm:
logging.getLogger('foo').info('first message')
logging.getLogger('foo.bar').error('second message')
self.assertEqual(cm.output, ['INFO:foo:first message',
'ERROR:foo.bar:second message'])
assertMultiLineEqual
assertMultiLineEqual(
first, second, msg=None, **kwargs
)
Утверждает, что две многострочные строки равны.
assertNDArrayNear
assertNDArrayNear(
ndarray1, ndarray2, err, msg=None
)
Утверждает, что два массива numpy имеют близкие значения.
| Аргументы | |
|---|---|
ndarray1 | массив numpy. |
ndarray2 | массив numpy. |
err | число с плавающей точкой. Максимальное допустимое абсолютное различие. |
msg | Необязательное сообщение об ошибке. |
assertNear
assertNear(
f1, f2, err, msg=None
)
Утверждает, что две числа с плавающей точкой близки друг к другу.
Проверяет, что |f1 - f2| < err, и утверждает об ошибке теста, если это не так.
| Аргументы | |
|---|---|
f1 | Значение с плавающей точкой. |
f2 | Значение с плавающей точкой. |
err | Значение с плавающей точкой. |
msg | Необязательная строка сообщения, добавляемая к сообщению об ошибке. |
assertNoCommonElements
assertNoCommonElements(
expected_seq, actual_seq, msg=None
)
Проверяет, являются ли итерируемые объекты actual и expected непересекающимися.
assertNotAllClose
assertNotAllClose(
a, b, **kwargs
)
Утверждает, что два массива numpy или тензоры не имеют близких значений.
| Аргументы | |
|---|---|
a | первое значение для сравнения. |
b | второе значение для сравнения. |
**kwargs | дополнительные ключевые аргументы, передаваемые в базовую функцию assertAllClose. |
| Исключения | |
|---|---|
AssertionError | Если a и b неожиданно близки по всем элементам. |
assertNotAllEqual
assertNotAllEqual(
a, b, msg=None
)
Утверждает, что два массива numpy или тензоры не имеют одинаковых значений.
| Аргументы | |
|---|---|
a | ожидаемый массив numpy или любое значение, которое может быть преобразовано в него. |
b | фактический массив numpy или любое значение, которое может быть преобразовано в него. |
msg | Необязательное сообщение об ошибке. |
assertNotAlmostEqual
assertNotAlmostEqual(
first, second, places=None, msg=None, delta=None
)
Не проходит, если два объекта равны, как определено их разностью, округлённой до заданного числа десятичных знаков (по умолчанию 7) и сравнением с нулём, или путём сравнения разницы между двумя объектами с заданным дельтой.
Обратите внимание, что десятичные знаки (от нуля) обычно не совпадают с значащими цифрами (измеренными от значащей цифры).
Объекты, которые равны автоматически, приводят к ошибке.
assertNotAlmostEquals
assertNotAlmostEquals(
*args, **kwargs
)
assertNotEmpty
assertNotEmpty(
container, msg=None
)
Утверждает, что у объекта длина не равна нулю.
| Аргументы | |
|---|---|
container | Любой объект, реализующий интерфейс collections.abc.Sized. |
msg | Необязательное сообщение об ошибке. |
assertNotEndsWith
assertNotEndsWith(
actual, unexpected_end, msg=None
)
Утверждает, что actual.endswith(unexpected_end) равно False.
| Аргументы | |
|---|---|
actual | str |
unexpected_end | str |
msg | Необязательное сообщение об ошибке. |
assertNotEqual
assertNotEqual(
first, second, msg=None
)
Не проходит, если два объекта равны по оператору '!='.
assertNotEquals
assertNotEquals(
*args, **kwargs
)
assertNotIn
assertNotIn(
member, container, msg=None
)
Точно так же, как self.assertTrue(a not in b), но с более удобным сообщением по умолчанию.
assertNotIsInstance
assertNotIsInstance(
obj, cls, msg=None
)
Включено для симметрии с assertIsInstance.
assertNotRegex
assertNotRegex(
text, unexpected_regex, msg=None
)
Приводить к провалу теста, если текст соответствует регулярному выражению.
assertNotRegexpMatches
assertNotRegexpMatches(
*args, **kwargs
)
assertNotStartsWith
assertNotStartsWith(
actual, unexpected_start, msg=None
)
Проверяет, что actual.startswith(unexpected_start) равно False.
| Args | |
|---|---|
actual | str |
unexpected_start | str |
msg | Необязательное сообщение для отчета о сбое. |
assertProtoEquals
assertProtoEquals(
expected_message_maybe_ascii, message, msg=None
)
Проверяет, что сообщение такое же, как проанализированное expected_message_ascii.
Создаёт другой прототип сообщения, считывает ascii-сообщение в него и затем сравнивает их с помощью self._AssertProtoEqual().
| Args | |
|---|---|
expected_message_maybe_ascii | сообщение-прототип в исходной или ascii-форме. |
message | сообщение для проверки. |
msg | Необязательное сообщение для отчета о сбое. |
assertProtoEqualsVersion
assertProtoEqualsVersion(
expected, actual, producer=versions.GRAPH_DEF_VERSION,
min_consumer=versions.GRAPH_DEF_VERSION_MIN_CONSUMER, msg=None
)
assertRaises
assertRaises(
expected_exception, *args, **kwargs
)
Приводит к провалу теста, если вызываемый объект не поднимает исключение класса expected_exception при вызове с указанными позиционными и ключевыми аргументами. Если поднято исключение другого типа, оно не будет перехвачено, и тест будет считаться ошибочным, точно так же, как и при возникновении непредвиденного исключения.
Если вызвана без callable и аргументов, вернёт объект контекста, используемый так::
with self.assertRaises(SomeException):
do_something()
Можно указать необязательный ключевой аргумент 'msg', когда assertRaises используется как объект контекста.
Объект контекста сохраняет ссылку на исключение в атрибуте 'exception'. Это позволяет инспектировать исключение после проверки::
with self.assertRaises(SomeException) as cm:
do_something()
the_exception = cm.exception
self.assertEqual(the_exception.error_code, 3)
assertRaisesOpError
assertRaisesOpError(
expected_err_re_or_predicate
)
assertRaisesRegex
assertRaisesRegex(
expected_exception, expected_regex, *args, **kwargs
)
Проверка, что сообщение в поднятом исключении соответствует регулярному выражению.
| Args | |
|---|---|
expected_exception | Ожидаемый класс исключения. |
expected_regex | Регулярное выражение (объект re.Pattern или строка), ожидаемое в сообщении об ошибке. |
expected_regex | Функция, которая вызывается, и дополнительные позиционные аргументы. |
kwargs | Дополнительные ключевые аргументы. |
msg | Необязательное сообщение, используемое в случае сбоя. Может использоваться только при assertRaisesRegex в качестве менеджера контекста. |
assertRaisesRegexp
assertRaisesRegexp(
expected_exception, expected_regex, *args, **kwargs
)
Проверка, что сообщение в поднятом исключении соответствует регулярному выражению.
| Args | |
|---|---|
expected_exception | Ожидаемый класс исключения. |
expected_regex | Регулярное выражение (объект re.Pattern или строка), ожидаемое в сообщении об ошибке. |
args | Функция, которая вызывается, и дополнительные позиционные аргументы. |
kwargs | Дополнительные ключевые аргументы. |
msg | Необязательное сообщение, используемое в случае сбоя. Может использоваться только при assertRaisesRegex в качестве менеджера контекста. |
assertRaisesWithLiteralMatch
assertRaisesWithLiteralMatch(
expected_exception, expected_exception_message, callable_obj=None, *args,
**kwargs
)
Проверка, что сообщение в поднятом исключении равно заданной строке.
В отличие от assertRaisesRegex, этот метод принимает строку, а не регулярное выражение.
with self.assertRaisesWithLiteralMatch(ExType, 'message'): DoSomething()
| Args | |
|---|---|
expected_exception | Ожидаемый класс исключения. |
expected_exception_message | Ожидаемое текстовое сообщение в поднятом исключении. Для исключения raise e, expected_exception_message должно быть равно str(e). |
callable_obj | Вызываемый объект, или None для возвращения менеджера контекста. |
*args | Дополнительные аргументы. |
**kwargs | Дополнительные ключевые аргументы. |
| Возвращает | |
|---|---|
| Менеджер контекста, если callable_obj равен None. В противном случае, None. |
| Исключения | |
|---|---|
| self.failureException, если callable_obj не поднимает соответствующее исключение. |
assertRaisesWithPredicateMatch
@contextlib.contextmanager
assertRaisesWithPredicateMatch(
exception_type, expected_err_re_or_predicate
)
Возвращает менеджер контекста для помещения кода, ожидающего поднятия исключения.
Если исключение является OpError, стек операций также включён в поиск сообщения по предикату.
| Args | |
|---|---|
exception_type | Ожидаемый тип исключения, которое должно быть поднято. |
expected_err_re_or_predicate | Если это вызываемый объект, он должен быть функцией с одним аргументом, которая инспектирует переданное исключение и возвращает True (успех) или False (пожалуйста, провалите тест). В противном случае ожидается, что сообщение об ошибке частично соответствует этому регулярному выражению. |
| Возвращает | |
|---|---|
| Менеджер контекста для окружения кода, который ожидается, что он вызовет исключение. |
assertRegex
assertRegex(
text, expected_regex, msg=None
)
Приводит к провалу теста, если текст не соответствует регулярному выражению.
assertRegexMatch
assertRegexMatch(
actual_str, regexes, message=None
)
Проверяет, что хотя бы одно регулярное выражение в regexes соответствует str.
Если возможно, используйте assertRegex, который является более простой версией этого метода. assertRegex принимает единственное регулярное выражение (строка или скомпилированный объект re) вместо списка.
Примечания:
Эта функция использует сопоставление подстрок, т.е. сопоставление успешно, если любая подстрока сообщения об ошибке соответствует любому регулярному выражению в списке. Это удобнее для пользователя, чем полное сопоставление строк.
Если regexes является пустым списком, сопоставление всегда будет провалено.
Используйте regexes=[''] для регулярного выражения, которое всегда пройдет.
'.' соответствует любому символу кроме новой строки. Чтобы сопоставить любой символ, используйте '(.|\n)'.
'^' соответствует началу каждой строки, а не только началу строки. Аналогично, '$' соответствует концу каждой строки.
Будет выброшено исключение, если regexes содержит неверное регулярное выражение.
| Args | |
|---|---|
actual_str | Строка, которую мы пытаемся сопоставить с элементами в regexes. |
regexes | Регулярные выражения, которые мы хотим сопоставить со str. См. "Примечания" выше для подробных сведений о том, как это интерпретируется. |
message | Сообщение, которое должно быть выведено, если тест не пройдёт. |
assertRegexpMatches
assertRegexpMatches(
*args, **kwargs
)
assertSameElements
assertSameElements(
expected_seq, actual_seq, msg=None
)
Проверяет, что два последовательности содержат те же элементы (в любом порядке).
В отличие от assertCountEqual, этот метод не учитывает дубликаты в ожидаемых и фактических последовательностях.
assertSameElements([1, 1, 1, 0, 0, 0], [0, 1]) # Не вызывает AssertionError
Если возможно, используйте assertCountEqual вместо assertSameElements.
| Args | |
|---|---|
expected_seq | Последовательность, содержащая ожидаемые элементы. |
actual_seq | Последовательность, которую мы тестируем. |
msg | Сообщение, которое должно быть выведено, если тест не пройдёт. |
assertSameStructure
assertSameStructure(
a, b, aname='a', bname='b', msg=None
)
Проверяет, что два значения содержат одинаковое структурное содержимое.
Два аргумента должны быть структурами данных, состоящими из деревьев словарей и списков. Они будут сравниваться рекурсивно, входя во внутренние словари и списки; другие элементы будут сравниваться с помощью оператора ==. Если две структуры отличаются по содержимому, сообщение об ошибке укажет место первого различия в структуре. Это может быть полезно при сравнении больших структур.
Поддерживаются смешанные типы последовательностей и множеств. Поддерживаются смешанные типы отображений, но порядок ключей при сравнении не учитывается.
| Аргументы | |
|---|---|
a | Первая структура для сравнения. |
b | Вторая структура для сравнения. |
aname | Имя переменной для первой структуры в сообщениях об ошибках. |
bname | Имя переменной для второй структуры. |
msg | Дополнительный текст для включения в сообщение об ошибке. |
data-text="assertSequenceAlmostEqual" id="assertSequenceAlmostEqual" tabindex="0">assertSequenceAlmostEqual
assertSequenceAlmostEqual(
expected_seq, actual_seq, places=None, msg=None, delta=None
)
Утверждение об приблизительном равенстве упорядоченных последовательностей.
Проверка, если две последовательности не равны, определяя разницу значений, округленных до заданного количества десятичных знаков (по умолчанию 7), сравнивая их с нулем или сравнивая, что разница между каждым значением в двух последовательностях больше, чем заданная величина.
Обратите внимание, что десятичные знаки (от нуля) обычно не совпадают с значащими цифрами (измеренными от самой значащей цифры).
Если две последовательности равны, они автоматически будут считаться приблизительно равными.
| Аргументы | |
|---|---|
expected_seq | Последовательность, содержащая ожидаемые элементы. |
actual_seq | Последовательность, которая тестируется. |
places | Количество десятичных знаков для сравнения. |
msg | Сообщение, которое будет выведено при ошибке теста. |
delta | Допустимая разница между сравниваемыми значениями. |
data-text="assertSequenceEqual" id="assertSequenceEqual" tabindex="0">assertSequenceEqual
assertSequenceEqual(
seq1, seq2, msg=None, seq_type=None
)
Утверждение о равенстве упорядоченных последовательностей (таких как списки и кортежи).
Для целей этой функции допустимый упорядоченный тип последовательности — это тип, который может быть индексирован, имеет длину и имеет оператор равенства.
| Аргументы | |
|---|---|
seq1 | Первая последовательность для сравнения. |
seq2 | Вторая последовательность для сравнения. |
seq_type | Ожидаемый тип данных последовательностей или None, если тип данных не должен навязываться. |
msg | Необязательное сообщение для использования при ошибке вместо списка различий. |
data-text="assertSequenceStartsWith" id="assertSequenceStartsWith" tabindex="0">assertSequenceStartsWith
assertSequenceStartsWith(
prefix, whole, msg=None
)
Утверждение о равенстве начала упорядоченных последовательностей.
Если префикс — пустая последовательность, будет вызвана ошибка, если вся последовательность тоже не пуста.
Если префикс не является последовательностью, будет вызвана ошибка, если первый элемент всей последовательности не совпадает.
| Аргументы | |
|---|---|
prefix | Последовательность, ожидаемая в начале параметра whole. |
whole | Последовательность, в которой нужно искать префикс. |
msg | Необязательное сообщение для отчета об ошибке. |
data-text="assertSetEqual" id="assertSetEqual" tabindex="0">assertSetEqual
assertSetEqual(
set1, set2, msg=None
)
Утверждение о равенстве множеств.
| Аргументы | |
|---|---|
set1 | Первое множество для сравнения. |
set2 | Второе множество для сравнения. |
msg | Необязательное сообщение для использования при ошибке вместо списка различий. |
assertSetEqual использует подтипизацию для поддержки различных типов множеств и оптимизирован для множеств (параметры должны поддерживать метод difference).
data-text="assertShapeEqual" id="assertShapeEqual" tabindex="0">assertShapeEqual
assertShapeEqual(
np_array, tf_tensor, msg=None
)
Проверяет, что у Numpy ndarray и TensorFlow тензора одинаковая форма.
| Аргументы | |
|---|---|
np_array | Numpy ndarray или Numpy скаляр. |
tf_tensor | Тензор. |
msg | Необязательное сообщение для отчета об ошибке. |
| Исключения | |
|---|---|
TypeError | Если у аргументов неправильный тип. |
data-text="assertStartsWith" id="assertStartsWith" tabindex="0">assertStartsWith
assertStartsWith(
actual, expected_start, msg=None
)
Утверждается, что actual.startswith(expected_start) равно True.
| Аргументы | |
|---|---|
actual | str |
expected_start | str |
msg | Необязательное сообщение для отчета об ошибке. |
data-text="assertTotallyOrdered" id="assertTotallyOrdered" tabindex="0">assertTotallyOrdered
assertTotallyOrdered(
*groups, **kwargs
)
Проверка корректной реализации полного упорядочения.
Например, предположим, что у вас есть класс A, который сравнивает только по своему атрибуту x. Для краткости опущены компараторы, отличные от lt.
class A(object): def init(self, x, y): self.x = x self.y = y
def hash(self): return hash(self.x)
def lt(self, other): try: return self.x < other.x except AttributeError: return NotImplemented
assertTotallyOrdered проверит, что экземпляры могут быть упорядочены правильно. Например,
self.assertTotallyOrdered( [None], # None должен идти перед всем остальным. [1], # Целые числа сортируются раньше. [A(1, 'a')], [A(2, 'b')], # 2 идёт после 1. [A(3, 'c'), A(3, 'd')], # Второй аргумент не имеет значения. [A(4, 'z')], ['foo']) # Строки сортируются последними.
| Аргументы | |
|---|---|
*groups | Список групп элементов. Каждая группа элементов — это список объектов, которые равны. Элементы в каждой группе должны быть меньше элементов в последующей группе. Например, эти группы полностью упорядочены: [None], [1], [2, 2], [3]. **kwargs: необязательный параметр msg может быть передан. |
data-text="assertTrue" id="assertTrue" tabindex="0">assertTrue
assertTrue(
expr, msg=None
)
Проверка, что выражение истинно.
data-text="assertTupleEqual" id="assertTupleEqual" tabindex="0">assertTupleEqual
assertTupleEqual(
tuple1, tuple2, msg=None
)
Утверждение о равенстве кортежей.
| Аргументы | |
|---|---|
tuple1 | Первый кортеж для сравнения. |
tuple2 | Второй кортеж для сравнения. |
msg | Необязательное сообщение для использования при ошибке вместо списка различий. |
data-text="assertUrlEqual" id="assertUrlEqual" tabindex="0">assertUrlEqual
assertUrlEqual(
a, b, msg=None
)
Проверка равенства URL-адресов, игнорируя порядок параметров запроса.
data-text="assertWarns" id="assertWarns" tabindex="0">assertWarns
assertWarns(
expected_warning, *args, **kwargs
)
Не удается, если вызываемая функция не вызывает предупреждение класса warnClass при вызове с указанными позиционными и ключевыми аргументами. Если срабатывает предупреждение другого типа, оно не будет обработано: в зависимости от других правил фильтрации предупреждений оно может быть заглушено, выведено или поднято как исключение.
Если вызвать с вызываемой функцией и аргументами, вернёт объект контекста, используемый так::
with self.assertWarns(SomeWarning):
do_something()
Необязательный ключевой аргумент «msg» может быть передан при использовании assertWarns как объекта контекста.
Объект контекста хранит ссылку на первое соответствующее предупреждение в качестве атрибута «warning»; аналогично, атрибуты «filename» и «lineno» предоставляют информацию о строке кода Python, из которой было вызвано предупреждение. Это позволяет вам просмотреть предупреждение после утверждения::
with self.assertWarns(SomeWarning) as cm:
do_something()
the_warning = cm.warning
self.assertEqual(the_warning.some_attribute, 147)
data-text="assertWarnsRegex" id="assertWarnsRegex" tabindex="0">assertWarnsRegex
assertWarnsRegex(
expected_warning, expected_regex, *args, **kwargs
)
Проверка, соответствует ли сообщение в вызываемом предупреждении регулярному выражению. Основной функционал аналогичен assertWarns() с добавлением, что только предупреждения, сообщения которых также соответствуют регулярному выражению, считаются успешными совпадениями.
| Аргументы | |
|---|---|
expected_warning | Ожидаемый класс предупреждения. |
expected_regex | Ожидаемое регулярное выражение (объект re.Pattern или строка), которое должно быть найдено в сообщении об ошибке. |
args | Функция, которая вызывается, и дополнительные позиционные аргументы. |
kwargs | Дополнительные ключевые аргументы. |
msg | Необязательное сообщение, используемое в случае ошибки. Может быть использовано только при использовании assertWarnsRegex как объекта контекста. |
data-text="assert_" id="assert_" tabindex="0">assert_
assert_(
*args, **kwargs
)
data-text="cached_session" id="cached_session" tabindex="0">cached_session
@contextlib.contextmanager
cached_session(
graph=None, config=None, use_gpu=False, force_gpu=False
)
Возвращает сеанс TensorFlow для использования в выполнении тестов.
Этот метод ведет себя иначе, чем self.session(): по соображениям производительности cached_session по умолчанию будет повторно использовать ту же сессию в рамках одного и того же теста. Сессия, возвращаемая этой функцией, будет закрыта только в конце теста (в функции TearDown).
Используйте параметры use_gpu и force_gpu для управления тем, где выполняются операции. Если force_gpu равно True, все операции привязаны к /device:GPU:0. В противном случае, если use_gpu равно True, TensorFlow пытается выполнить как можно больше операций на GPU. Если оба force_gpu anduse_gpu` равны False, все операции привязаны к CPU.
Пример:
class MyOperatorTest(test_util.TensorFlowTestCase):
def testMyOperator(self):
with self.cached_session(use_gpu=True) as sess:
valid_input = [1.0, 2.0, 3.0, 4.0, 5.0]
result = MyOperator(valid_input).eval()
self.assertEqual(result, [1.0, 2.0, 3.0, 5.0, 8.0]
invalid_input = [-1.0, 2.0, 7.0]
with self.assertRaisesOpError("negative input not supported"):
MyOperator(invalid_input).eval()
| Аргументы | |
|---|---|
graph | Необязательный граф для использования во время возвращаемой сессии. |
config | Необязательный config_pb2.ConfigProto для настройки сессии. |
use_gpu | Если True, то попытка выполнить как можно больше операций на GPU. |
force_gpu | Если True, то все операции привязаны к /device:GPU:0. |
Возвращаемое значение:
Объект Session, который должен использоваться как менеджер контекста для окружения кода построения и выполнения графа в случае теста.
captureWritesToStream
@contextlib.contextmanager
captureWritesToStream(
stream
)
Менеджер контекста, который перехватывает записи в заданный поток.
Этот менеджер контекста перехватывает все записи в заданный поток внутри объекта CapturedWrites. При создании этого менеджера контекста он возвращает объект CapturedWrites. Захваченное содержимое можно получить, вызвав .contents() на объекте CapturedWrites.
Для работы этой функции поток должен иметь дескриптор файла, который можно изменить с помощью os.dup и os.dup2, и поток должен поддерживать метод .flush(). Примеры — стандартные потоки вывода Python sys.stdout и sys.stderr. Обратите внимание, что это не работает в Colab или Jupyter Notebook, так как там используются альтернативные потоки вывода.
Пример:
class MyOperatorTest(test_util.TensorFlowTestCase):
def testMyOperator(self):
input = [1.0, 2.0, 3.0, 4.0, 5.0]
with self.captureWritesToStream(sys.stdout) as captured:
result = MyOperator(input).eval()
self.assertStartsWith(captured.contents(), "This was printed.")
| Аргументы | |
|---|---|
stream | Поток, записи которого необходимо перехватить. Этот поток должен иметь дескриптор файла, поддерживать запись через использование этого дескриптора и должен иметь метод .flush() |
Возвращаемое значение:
Объект CapturedWrites, содержащий все записи в указанный поток, сделанные во время этого контекста.
checkedThread
checkedThread(
target, args=None, kwargs=None
)
Возвращает обёртку Thread, которая проверяет успешное завершение 'target'.
Этот метод следует использовать для создания всех потоков в тестовых случаях, так как в противном случае есть риск того, что поток завершится без ошибки и/или утверждения, сделанные в потоке, не будут соблюдаться.
| Аргументы | |
|---|---|
target | Вызываемый объект, который будет выполнен в потоке. |
args | Кортеж аргументов для вызова целевого объекта. По умолчанию — (). |
kwargs | Словарь ключевых аргументов для вызова целевого объекта. По умолчанию — {}. |
| Возвращаемое значение | |
|---|---|
| Обёртка для threading.Thread, поддерживающая методы start() и join(). |
countTestCases
countTestCases()
create_tempdir
create_tempdir(
name=None, cleanup=None
)
Создаёт временную папку, специфичную для теста.
Примечание: Папка и её содержимое будут рекурсивно очищены перед созданием. Это гарантирует отсутствие предопределённого состояния.
Это создаёт именованную папку на диске, изолированную для данного теста, и её должным образом очистит после завершения теста. Это избегает нескольких проблем, связанных с созданием временных папок для тестирования, а также упрощает настройку папок и проверку их содержимого. Например:
def test_foo(self):
out_dir = self.create_tempdir()
out_log = out_dir.create_file('output.log')
expected_outputs = [
os.path.join(out_dir, 'data-0.txt'),
os.path.join(out_dir, 'data-1.txt'),
]
code_under_test(out_dir)
self.assertTrue(os.path.exists(expected_paths[0]))
self.assertTrue(os.path.exists(expected_paths[1]))
self.assertEqual('foo', out_log.read_text())
См. также: create_tempfile() для создания временных файлов.
| Аргументы | |
|---|---|
name | Необязательное имя папки. Если не указано, будет сгенерировано уникальное имя. |
cleanup | Необязательная политика очистки, определяющая, когда и/или удалять папку (и всё её содержимое) по окончании теста. Если None, то используется self.tempfile_cleanup. |
| Возвращаемое значение | |
|---|---|
| _TempDir, представляющий созданную папку; см. документацию класса _TempDir для использования. |
create_tempfile
create_tempfile(
file_path=None, content=None, mode='w', encoding='utf8', errors='strict',
cleanup=None
)
Создаёт временный файл, специфичный для теста.
Это создаёт именованный файл на диске, изолированный для данного теста, и его должным образом очистит после завершения теста. Это избегает нескольких проблем, связанных с созданием временных файлов для тестирования, а также упрощает настройку файлов, запись данных в них, чтение из них и проверку их при сбое теста. Например:
def test_foo(self):
output = self.create_tempfile()
code_under_test(output)
self.assertGreater(os.path.getsize(output), 0)
self.assertEqual('foo', output.read_text())
Примечание: Файл будет обнулён. Это гарантирует отсутствие предопределённого состояния. ПРИМЕЧАНИЕ: Если файл уже существует, он будет сделан доступным для записи и перезаписан.
См. также: create_tempdir() для создания временных папок и _TempDir.create_file для создания файлов внутри временной папки.
| Аргументы | |
|---|---|
file_path | Необязательный путь к временному файлу. Если не указан, будет сгенерировано уникальное имя файла. Разрешены слеши в имени; любые недостающие промежуточные каталоги будут созданы. ПРИМЕЧАНИЕ: Этот путь — путь, который будет очищен, включая все каталоги в пути, например, 'foo/bar/baz.txt' будет rm -r foo. |
content | Необязательная строка или байты для начальной записи в файл. Если не указано, создаётся пустой файл. |
mode | Строка режима для записи содержимого. Используется только если content не пусто. |
encoding | Кодировка для записи строкового содержимого. Используется только если content является текстом. |
errors | Как обрабатывать ошибки кодирования текста в байты. Используется только если content является текстом. |
cleanup | Необязательная политика очистки, определяющая, когда и/или удалять папку (и всё её содержимое) по окончании теста. Если None, то используется self.tempfile_cleanup. |
| Возвращаемое значение | |
|---|---|
| _TempFile, представляющий созданный файл; см. документацию класса _TempFile для использования. |
debug
debug()
Выполнить тест без сбора ошибок в TestResult
defaultTestResult
defaultTestResult()
doCleanups
doCleanups()
Выполнить все функции очистки. Обычно вызывается после tearDown.
enter_context
enter_context(
manager
)
Возвращает значение CM после его регистрации в стеке выхода.
Ввод контекста помещает его в стек контекстов. Контекст выходит, когда тест завершается. Контексты выходят в обратном порядке входа. Они всегда выходят независимо от успеха/неудачи теста. Стек контекстов специфичен для выполняемого теста.
Это полезно для устранения шаблонного кода на уровне каждого теста при использовании менеджеров контекста. Например, вместо декорирования каждого теста с @mock.patch, просто выполните self.foo = self.enter_context(mock.patch(...))' insetUp()`.
Примечание: Менеджеры контекста всегда выходят без какой-либо информации об ошибке. Это неудачная реализация из-за внутренних особенностей того, как unittest запускает тесты.
| Аргументы | |
|---|---|
manager | Менеджер контекста для входа. |
evaluate
evaluate(
tensors
)
Вычисляет тензоры и возвращает значения NumPy.
| Аргументы | |
|---|---|
tensors | Тензор или вложенный список/кортеж тензоров. |
| Возвращаемое значение | |
|---|---|
| Числовые значения тензоров. |
fail
fail(
msg=None, prefix=None
)
Немедленно завершить тест с заданным сообщением, необязательно с префиксом.
failIf
failIf(
*args, **kwargs
)
failIfAlmostEqual
failIfAlmostEqual(
*args, **kwargs
)
failIfEqual
failIfEqual(
*args, **kwargs
)
failUnless
failUnless(
*args, **kwargs
)
failUnlessAlmostEqual
failUnlessAlmostEqual(
*args, **kwargs
)
failUnlessEqual
failUnlessEqual(
*args, **kwargs
)
failUnlessRaises
failUnlessRaises(
*args, **kwargs
)
get_temp_dir
get_temp_dir()
Возвращает уникальную временную директорию для использования тестом.
Если вы вызываете этот метод несколько раз в рамках одного теста, он вернёт один и тот же каталог. Однако, при разных запусках каталоги будут различными. Это гарантирует, что при различных запусках тесты не смогут загрязнять друг друга среду. Если вам нужны несколько уникальных каталогов в рамках одного теста, используйте `tempfile.mkdtemp` следующим образом: `tempfile.mkdtemp(dir=self.get_temp_dir())`:
| Возвращаемое значение | |
|---|---|
| строка, путь к уникальной временной директории, созданной для этого теста. |
id
id()
run
run(
result=None
)
session
@contextlib.contextmanager
session(
graph=None, config=None, use_gpu=False, force_gpu=False
)
Менеджер контекста для сеанса TensorFlow для использования в выполнении тестов.
Обратите внимание, что это установит этот сеанс и график в качестве глобальных значений по умолчанию.
Используйте параметры use_gpu и force_gpu для управления тем, где выполняются операции. Если force_gpu равно True, все операции закреплены на /device:GPU:0. В противном случае, если use_gpu равно True, TensorFlow пытается выполнить как можно больше операций на GPU. Если оба force_gpu anduse_gpu` равны False, все операции закреплены на CPU.
Пример:
class MyOperatorTest(test_util.TensorFlowTestCase):
def testMyOperator(self):
with self.session(use_gpu=True):
valid_input = [1.0, 2.0, 3.0, 4.0, 5.0]
result = MyOperator(valid_input).eval()
self.assertEqual(result, [1.0, 2.0, 3.0, 5.0, 8.0]
invalid_input = [-1.0, 2.0, 7.0]
with self.assertRaisesOpError("negative input not supported"):
MyOperator(invalid_input).eval()
| Аргументы | |
|---|---|
graph | Необязательный график для использования во время возвращаемого сеанса. |
config | Необязательный config_pb2.ConfigProto для настройки сеанса. |
use_gpu | Если True, попытаться выполнить как можно больше операций на GPU. |
force_gpu | Если True, закрепить все операции на /device:GPU:0. |
Возвращаемое значение:
Объект Session, который должен использоваться как менеджер контекста для окружения кода построения графа и выполнения в случае теста.
setUp
setUp()
Метод для настройки фикстуры теста перед её использованием.
setUpClass
@classmethod setUpClass()
Метод для настройки фикстуры класса перед запуском тестов в классе.
shortDescription
shortDescription()
Форматирует имя метода теста и первую строку его документации.
Если документация не предоставлена, возвращает только имя метода.
Этот метод переопределяет unittest.TestCase.shortDescription(), который возвращает только первую строку документации, скрывая имя теста при ошибке.
| Возвращаемое значение | |
|---|---|
desc | Краткое описание метода теста. |
skipTest
skipTest(
reason
)
Пропустить этот тест.
subTest
@contextlib.contextmanager
subTest(
msg=_subtest_msg_sentinel, **params
)
Возвращает менеджер контекста, который вернёт вложенный блок кода в подтесте, идентифицированный необязательным сообщением и параметрами ключевых слов. Ошибка в подтесте отмечает тестовый случай как ошибочный, но возобновляет выполнение в конце вложенного блока, позволяя выполнить дальнейший тестовый код.
tearDown
tearDown()
Метод для разборки фикстуры теста после её тестирования.
tearDownClass
@classmethod tearDownClass()
Метод для разборки фикстуры класса после выполнения всех тестов в классе.
test_session
@contextlib.contextmanager
test_session(
graph=None, config=None, use_gpu=False, force_gpu=False
)
Используйте `cached_session` вместо этого. (устарело)
__call__
__call__(
*args, **kwds
)
Вызвать self как функцию.
__eq__
__eq__(
other
)
Возвращает self==value.
Переменные класса
-
longMessage = True -
maxDiff = 1600 -
tempfile_cleanup
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.3/api_docs/python/tf/test/TestCase