Невозможно смоделировать содержимое цикла for с помощью pytest - PullRequest
0 голосов
/ 27 ноября 2018
devices = Device.query.options(db.load_only(Device.id)).all()
pdb.set_trace()
for device in devices:
    # get all configs for this device
    configs = Config.query.filter(Config.device_id == device.id).order_by(Config.first_seen).all()
    if not configs: continue
    configs = {config.id: config for config in configs}
    config_ids = list(configs.keys())

    last_config_id = config_ids[0]

    for config_id in config_ids[1:]:
        if _is_same_config(configs[last_config_id].config, configs[config_id].config):

Использование mocker.patch device_query = mocker.patch ('devicedb.classes.Device.query'). Я могу смоделировать устройства. Но после этого я не могу смоделировать конфиги при написании макета для конфигурации.Может ли кто-нибудь помочь мне пройти через это.

device_query = mocker.patch('devicedb.classes.Device.query')
        device_query.return_value.options.return_value.all.return_value = Device(id=123)
        config_query = mocker.patch('devicedb.classes.Config.query')
...