Size: a a a

testing_in_python

2020 August 21

BK

Boris Krutskih in testing_in_python
полностью перезаписывается файл
источник

BK

Boris Krutskih in testing_in_python
т.е. если в файле много ключей, то 1 такой вызов полностью перезапишет файл с одним ключом
источник

S

Sergei in testing_in_python
читай файл перед записью, обновляй нужный ключ, сохраняй все
источник

BK

Boris Krutskih in testing_in_python
Sergei
читай файл перед записью, обновляй нужный ключ, сохраняй все
а без чтения, можно сразу напрямую в нужный ключ дописать значение?
источник

IS

Idi Suda in testing_in_python
Boris Krutskih
не ну так вроде лаконичнее получается)
comment_pm_ai_id = pytest.fixture(lambda: rff(path=f'{GRABBED_DIR}/comment_pm_ai_id.txt'))
fresh_ai_id = pytest.fixture(lambda: rff(path=f'action_item_id.txt'))
fresh_analytic_ai_id = pytest.fixture(lambda: rff(path=f'analytic_action_item_id.txt'))
fresh_comment_id = pytest.fixture(lambda: rff(path=f'comment_ai_id.txt'))
fresh_report_id = pytest.fixture(lambda: rff(path=f'report_item_id.txt'))
fresh_detached_sensor_id = pytest.fixture(lambda: rff(path=f'detached_sensor_id.txt'))
_fresh_access_token = pytest.fixture(lambda: rff(path=f'{GRABBED_DIR}/new_user_access_token.txt'))
_fresh_user_id = pytest.fixture(lambda: rff(path=f'{GRABBED_DIR}/new_user_id.txt'))
_fresh_access_token_by_pm = pytest.fixture(lambda: rff(path=f'{GRABBED_DIR}/new_user_access_token_by_pm.txt'))
_pm_ai_id = pytest.fixture(lambda: rff(path=f'{GRABBED_DIR}/_pm_ai_id.txt'))


вместо горождения декораторов
нечитаемо чет вообще
источник

IS

Idi Suda in testing_in_python
стена текста с лямбдами
источник

IS

Idi Suda in testing_in_python
Почему бы тебе не писать айдишники или что ты там пишешь всю сессию теста в какой-нибудь глобальный объект, а в кнце теста просто этот объект пишешь в файл
источник

IS

Idi Suda in testing_in_python
Из хука
источник

BK

Boris Krutskih in testing_in_python
Idi Suda
Почему бы тебе не писать айдишники или что ты там пишешь всю сессию теста в какой-нибудь глобальный объект, а в кнце теста просто этот объект пишешь в файл
У меня в некоторых тестах нужно получать разные ID на лету типа) перезаписывать и потом использовать в следующем тесте
источник

BK

Boris Krutskih in testing_in_python
поэтому наверное такой вариант не подойдёт
источник

S

Sergei in testing_in_python
Boris Krutskih
а без чтения, можно сразу напрямую в нужный ключ дописать значение?
конечно можно :)
замени
with open(f'{GRABBED_DIR}/grabbed_data.yaml', 'w') as outfile:
на
with open(f'{GRABBED_DIR}/grabbed_data.yaml', 'a') as outfile:
и дописывай в конец файла актуальные значения ключа :) при чтении будут использоваться последние записанные (т.е. актуальные) значения ключа :)
источник

BK

Boris Krutskih in testing_in_python
Sergei
конечно можно :)
замени
with open(f'{GRABBED_DIR}/grabbed_data.yaml', 'w') as outfile:
на
with open(f'{GRABBED_DIR}/grabbed_data.yaml', 'a') as outfile:
и дописывай в конец файла актуальные значения ключа :) при чтении будут использоваться последние записанные (т.е. актуальные) значения ключа :)
а если ключ уже сущевствует, я так понял через if и потом append нового значения делать?
источник

S

Sergei in testing_in_python
где существует? в файле?
источник

S

Sergei in testing_in_python
ну пусть, при чтении будет использован только последний, как ты и хочешь)
источник

BK

Boris Krutskih in testing_in_python
Sergei
где существует? в файле?
ну да, он же сейчас при каждом вызове дописывает новую строку ключ - значение, а зачем если ключ уже существует
источник

S

Sergei in testing_in_python
ну ты ж хочешь обновить ключ без чтения файла - вот тебе вариант)
источник

S

Sergei in testing_in_python
дописать в конец файла тот же ключ с новыми значениями
источник

BK

Boris Krutskih in testing_in_python
Sergei
ну ты ж хочешь обновить ключ без чтения файла - вот тебе вариант)
а просто вбить в существующий ключ новое значение без чтения файла никак?)))
источник

BK

Boris Krutskih in testing_in_python
хотя чтоб узнать есть ли значение, всеравно прочитать прийдется)
источник

S

Sergei in testing_in_python
если ты не хочешь читать файл перед записью, какая разница что там внутри :) если наружу при чтении получишь то что нужно)
источник