Size: a a a

testing_in_python

2021 August 10

A

Aleksandr in testing_in_python
Всем привет. Ребят столкнулся с проблемой, может кто знает решение. Есть функция по созданию сущности, которая содержит в себе другие функции, если в какой либо из вложенных функций не соблюдается условие - идет перевызов главной функции, которая начинает создание сущности с начала. Но тут столкнулся с проблемой, после того как сущность была успешно создана,  идет продолжение создания сущности по вложенным функциям, которая уже не должна создаваться, следовательно тест падает. Грубо говоря, попадаю в рекурсию, а как остановить главную функцию если одна из функций вызывает перевызов - не понятно
источник

P

Philip in testing_in_python
Рекурсия так и работает. Делайте в цикле свои вызовы "пока не создастся".
источник

ИС

Игорь Середа... in testing_in_python
> как остановить главную функцию если одна из функций вызывает перевызов

Использовать свойство объекта для хранения флага, который проверяется в нужном методе каждый раз, когда надо принять решение об остановке.
источник

P

Philip in testing_in_python
Так а после остановки управление вернётся на уровень выше и пойдёт дальше. Обмазываться условиями после каждой строки? Глобальный флаг, чтобы его было видно и из основной функции, и из вложенных? Вообще надо бы пересмотреть необходимость таких вызовов.
источник

ИС

Игорь Середа... in testing_in_python
Свойства объекта доступны всем его методам. См. "области видимости".
источник
2021 August 11

SC

Sergey Chernov in testing_in_python
Всем привет

при такой конструкции параметразации тестов на pytest
@pytest.mark.parametrize("x", [0, 1])
@pytest.mark.parametrize("y", [2, 3])
def test_foo(x, y):
   pass


как можно отловить событие что изменился какой то параметр  
к примеру я хочу отловить событие что изменился параметр y
источник

V

Vita in testing_in_python
assert y = y из параметров
только используй разные переменные
источник

P

Philip in testing_in_python
if y == 2?
Не лучше ли тогда два отдельных теста сделать с фиксированным y?
источник

A

Alexey in testing_in_python
источник

A

Alexey in testing_in_python
Чуваки есть книга?
источник

DT

Dmitry T. in testing_in_python
https://habr.com/ru/post/448782/ вот тут видел немного в другом виде
источник

MR

Merg Rebas in testing_in_python
источник

A

Alexey in testing_in_python
Ееее, лучший!!!!
источник

A

Alexey in testing_in_python
Спс
источник

SC

Sergey Chernov in testing_in_python
1. два отдельных теста не лучше. Так как мне нужно запустить тест с комбинацией параметров
2. y == 2 а если параметров 1000  тоже как то не вариант
источник

EB

Evgenii B in testing_in_python
Что параметр изменился или что он равен какому-то значению? Если параметр меняется, то потому что работает механизм параметризации, это как бы ожидаемое поведение, его никто обычно не трекает
источник

EB

Evgenii B in testing_in_python
Объясни для чего тебе нужен этот механизм на примере простом
источник

B

Bhaskar in testing_in_python
Need  support for python automation testing..
источник

B

Bhaskar in testing_in_python
If anyone interested please let me know.
источник

A

Aleksandr in testing_in_python
ну, можешь присваивать значение Y в глобальную переменную и при каждом тесте проверять совпадает Y или нет, если нет, то сделать какой-то вывод и присвоить глобавльной переменной новое значение Y
источник