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.
| Аргументы | |
|---|---|
parent | Контекст, в котором должно быть изменено свойство child_name. |
child_name | Имя свойства, которое нужно изменить. |
new_child | Новое значение свойства. |
SmartSet
SmartSet(
obj, attr_name, new_attr
)
Заменяет obj.attr_name на new_attr.
Этот метод умен и работает на уровне модуля, класса и экземпляра, сохраняя правильное наследование. Однако он не будет заменять типы C, если это не было явно разрешено типом.
Этот метод поддерживает случай, когда attr_name является статическим или классовым методом obj.
| Примечания | |
|---|---|
|
| Аргументы | |
|---|---|
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
)
© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/api_docs/python/tf/compat/v1/test/StubOutForTesting