Size: a a a

QA — Automation

2021 September 06

СС

Сказочный Сникерс... in QA — Automation
+ как я уже сказал - эта функция - полная динамика. то есть оно что то создает
источник

СС

Сказочный Сникерс... in QA — Automation
а значит второй раз уже никак нельзя ее вызывать
источник

А

Алексей in QA — Automation
неа, там фикстура генератор же, там один код, просто дергается отовсюду. соотв сохраняем в дикт в ключ ид дернувшего и с чем дернул
источник

А

Алексей in QA — Automation
второй и не надо, в дикт можно прихранить не ток параметр вызова, и но и результат, уходящий в ретурн или ейлд
источник

СС

Сказочный Сникерс... in QA — Automation
вот же. my_fixture_param по сути метод создания данных в бд
источник

АК

Артем Кузьменко... in QA — Automation
Сделано неплохо. Но не подразумевалась параметризация прекондишенов. И потом уже это доделали. А теперь вот костылём
источник

СС

Сказочный Сникерс... in QA — Automation
если результат был получен в тесте, значит в каждом тесте надо в этот дикт пихать результат
источник

СС

Сказочный Сникерс... in QA — Automation
то есть не 1 место которое пихает туда а куча
источник

СС

Сказочный Сникерс... in QA — Automation
отдельная стадия каждого теста под названим prepare
источник

СС

Сказочный Сникерс... in QA — Automation
могу концепт накидать
источник

А

Алексей in QA — Automation
в тесте не надо, фикстура пихать сама будет :)
источник

АК

Артем Кузьменко... in QA — Automation
Накидайте 😊
источник

А

Алексей in QA — Automation
у него больше как юниттест с сетапом, типа ооп подход а не функциональный
источник

АК

Артем Кузьменко... in QA — Automation
Спасибо за идею. Подумаем.
источник

СС

Сказочный Сникерс... in QA — Automation
да блин, в фикстуре еще нет результата. только функция которая его сделает)
источник

А

Алексей in QA — Automation
там есть ретурн или елд, который вернет результат внутренней функции с переданным параметром. соотв выполняем до ретурна или елда, ложим в дикт, ретурним
источник

СС

Сказочный Сникерс... in QA — Automation
у него типа так, псевдо



def create_user(name):
    user = mysq.query(f"INSERT into users VALUES({name})")
    return user

@pytest.fixture()
def user():
    yield create_user

@pytest.mark.parametrize('name', ['vasya', 'petya'])
def test(user, name):
    created_user = user(name)
источник

А

Алексей in QA — Automation
правильнее в самой фикстуре явно логику добавить, а не инжектить ее через инспект и подобное
источник

А

Алексей in QA — Automation
не, он же писал что фабрика по пайтест

Это
def make_customer_record():
   def _make_customer_record(name):
       return {"name": name, "orders": []}

   return _make_customer_record
источник

АК

Артем Кузьменко... in QA — Automation
Все небезразличным спасибо, будем думать
источник