Spec-Zone.ru › TensorFlow 2.3

tf.compat.v1.test.StubOutForTesting

Класс-помощник для подстановки методов при тестировании.

tf.compat.v1.test.StubOutForTesting()

Пример использования:

Вы хотите, чтобы os.path.exists() всегда возвращало true во время тестирования.

stubs = StubOutForTesting() stubs.Set(os.path, 'exists', lambda x: 1) ... stubs.CleanUp()

Выше приведенный код заменяет os.path.exists лямбда-функцией, которая возвращает 1. После выполнения ... части кода, CleanUp() ищет старое значение os.path.exists и восстанавливает его.

Методы

CleanUp

Посмотреть исходный код

CleanUp()

Отменяет все вызовы SmartSet() и Set(), восстанавливая исходные определения.

Set

Посмотреть исходный код

Set(
    parent, child_name, new_child
)

В родительском объекте заменяет старое определение child_name на new_child.

Родительским объектом может быть модуль, а дочерним элементом – функция на уровне модуля. Или родительским объектом может быть класс, а дочерним элементом – метод класса. Имя дочернего элемента устанавливается в new_child, а предыдущее определение сохраняется для последующего использования, когда вызывается UnsetAll().

Этот метод поддерживает случаи, когда child_name является статическим или классовым методом родителя.

Аргументы
parent Контекст, в котором необходимо изменить атрибут child_name.
child_name Имя атрибута, который нужно изменить.
new_child Новое значение атрибута.

SmartSet

Посмотреть исходный код

SmartSet(
    obj, attr_name, new_attr
)

Заменяет obj.attr_name на new_attr.

Этот метод интеллектуальный и работает на уровне модулей, классов и экземпляров, сохраняя правильное наследование. Он не будет заглушать типы C, если только это не было явно разрешено типом.

Этот метод поддерживает случаи, когда attr_name является статическим или классовым методом obj.

Примечания:

  • Если obj является экземпляром, то заглушается его класс. Обратите внимание, что метод Set() этого не делает: если obj является экземпляром, то заглушается именно он (а не его класс).
  • Заглушка использует встроенные функции getattr и setattr. Таким образом, при заглушке будут вызываться методы get и set (вероятно, для манипулирования obj.dict вместо getattr() и setattr()).
Аргументы
obj Объект, атрибуты которого необходимо изменить.
attr_name Имя атрибута, который нужно изменить.
new_attr Новое значение атрибута.
Исключения
AttributeError Если атрибут не найден.

SmartUnsetAll

Посмотреть исходный код

SmartUnsetAll()

Отменяет вызовы SmartSet(), восстанавливая исходные определения.

Этот метод автоматически вызывается при удалении объекта StubOutForTesting(); нет необходимости вызывать его явно.

Можно вызывать SmartUnsetAll() многократно, так как последующие вызовы не будут иметь эффекта, если не было сделано ни одного вызова SmartSet().

UnsetAll

Посмотреть исходный код

UnsetAll()

Отменяет вызовы Set(), восстанавливая исходные определения.

Этот метод автоматически вызывается при удалении объекта StubOutForTesting(); нет необходимости вызывать его явно.

Можно вызывать UnsetAll() многократно, так как последующие вызовы не будут иметь эффекта, если не было сделано ни одного вызова Set().

__enter__

Посмотреть исходный код

__enter__()

__exit__

Посмотреть исходный код

__exit__(
    unused_exc_type, unused_exc_value, unused_tb
)

© 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/compat/v1/test/StubOutForTesting

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API