DB
In addition, stdin is set to a “null” object which will fail on attempts to read from it because it is rarely desired to wait for interactive input when running automated tests.
Size: a a a
DB
In addition, stdin is set to a “null” object which will fail on attempts to read from it because it is rarely desired to wait for interactive input when running automated tests.
DB
cm: CaptureManager = self.request.config.pluginmanager.getplugin("capturemanager")
cm.stop_global_capturing()
interactive_input = input('hey?')
cm.start_global_capturing()
A
cm: CaptureManager = self.request.config.pluginmanager.getplugin("capturemanager")
cm.stop_global_capturing()
interactive_input = input('hey?')
cm.start_global_capturing()
DB
assert value == expected
пишешь assert value == snapshot()
, и при первом запуске оно запомнит значение value как эталонное, а при следующих будет сравнивать. Поменяется — упадёт. В питоне есть парочка библиотек-плагинов, которые прикручиваются и позволяют делать такое, но нет ни одной интерактивной, чтобы per-test смотреть диффы разошедшихся снепшотов и валидировать их.DB
A
assert value == expected
пишешь assert value == snapshot()
, и при первом запуске оно запомнит значение value как эталонное, а при следующих будет сравнивать. Поменяется — упадёт. В питоне есть парочка библиотек-плагинов, которые прикручиваются и позволяют делать такое, но нет ни одной интерактивной, чтобы per-test смотреть диффы разошедшихся снепшотов и валидировать их.E
assert value == expected
пишешь assert value == snapshot()
, и при первом запуске оно запомнит значение value как эталонное, а при следующих будет сравнивать. Поменяется — упадёт. В питоне есть парочка библиотек-плагинов, которые прикручиваются и позволяют делать такое, но нет ни одной интерактивной, чтобы per-test смотреть диффы разошедшихся снепшотов и валидировать их.DB
V
PR
p
E
pydantic.BaseSettings
значения, переданные в конструктор, перекрывают значения, заданные через env? По (моей) логике должно быть наоборот: env имеет наивысший приоритет, ну или это должно быть хотя бы настраиваемо через Config, но нет, в коде захардкожен порядок обновления полей. И получается, что env-значения в низшем приоритете. Я не могу, скажем, построить конфигурацию, основанную на конфигурационных файлах+env, где env - имеет самый высокий приоритет, а конфиг-файлы менее высокий.class Settings(BaseSettings):
...
s = Settings(**load_from_config(config_path))
E
E
This behaviour can be changed by overriding the ``_build_values`` method on ``BaseSettings``.
p
AO
pydantic.BaseSettings
значения, переданные в конструктор, перекрывают значения, заданные через env? По (моей) логике должно быть наоборот: env имеет наивысший приоритет, ну или это должно быть хотя бы настраиваемо через Config, но нет, в коде захардкожен порядок обновления полей. И получается, что env-значения в низшем приоритете. Я не могу, скажем, построить конфигурацию, основанную на конфигурационных файлах+env, где env - имеет самый высокий приоритет, а конфиг-файлы менее высокий.class Settings(BaseSettings):
...
s = Settings(**load_from_config(config_path))
AO
Б
gather_results
или что-то похожее? async def get_list(*items):
return [*items]
async def get_dict(*keys):
return dict.fromkeys(keys, ...)
async def main():
return await gather_results(
{
'combined_dicts': {
**result_of(get_dict('a', 'b')),
**result_of(get_dict('c', 'd')),
},
'combined_lists': [
*result_of(get_list(1, 2)),
*result_of(get_list(3, 4)),
]
}
)
>>> asyncio.run(main())
{
'combined_dicts': {
'a': ...,
'b': ...,
'c': ...,
'd': ...,
},
'combined_lists': [
1, 2, 3, 4
]
}
S
gather_results
или что-то похожее? async def get_list(*items):
return [*items]
async def get_dict(*keys):
return dict.fromkeys(keys, ...)
async def main():
return await gather_results(
{
'combined_dicts': {
**result_of(get_dict('a', 'b')),
**result_of(get_dict('c', 'd')),
},
'combined_lists': [
*result_of(get_list(1, 2)),
*result_of(get_list(3, 4)),
]
}
)
>>> asyncio.run(main())
{
'combined_dicts': {
'a': ...,
'b': ...,
'c': ...,
'd': ...,
},
'combined_lists': [
1, 2, 3, 4
]
}