尽管调用相同,Python unittest assert_调用了_with()false

2024-10-17 06:32:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我要打电话给unittestMock.assert_调用了(),得到以下错误,其中预期调用和实际调用看起来完全相同。(差异显示没有差异)这是预期的行为吗?有什么建议吗?在

错误:

E           AssertionError: Expected call: tabular_learner(<MagicMock name='TabularList.from_df().split_by_idx().label_from_df().databunch()' id='139820374227096'>, callback_fns=[functools.partial(<class 'fastai.callbacks.tracker.TrackerCallback'>, monitor='exp_rmspe'), functools.partial(<class 'fastai.callbacks.tracker.EarlyStoppingCallback'>, mode='min', monitor='exp_rmspe', min_delta=0.01, patience=1), functools.partial(<class 'fastai.callbacks.tracker.SaveModelCallback'>, monitor='exp_rmspe', mode='min', every='improvement', name='2019-03-05-16:32:30')], emb_drop=0.01, layers=[100, 100], metrics=<function exp_rmspe at 0x7f2a79504488>, ps=[0.001, 0.01], y_range=None)
E           Actual call: tabular_learner(<MagicMock name='TabularList.from_df().split_by_idx().label_from_df().databunch()' id='139820374227096'>, callback_fns=[functools.partial(<class 'fastai.callbacks.tracker.TrackerCallback'>, monitor='exp_rmspe'), functools.partial(<class 'fastai.callbacks.tracker.EarlyStoppingCallback'>, mode='min', monitor='exp_rmspe', min_delta=0.01, patience=1), functools.partial(<class 'fastai.callbacks.tracker.SaveModelCallback'>, monitor='exp_rmspe', mode='min', every='improvement', name='2019-03-05-16:32:30')], emb_drop=0.01, layers=[100, 100], metrics=<function exp_rmspe at 0x7f2a79504488>, ps=[0.001, 0.01], y_range=None)

测试代码(这是最后一个失败的assert_调用的代码):

^{pr2}$

Tags: namefromdfmode错误assertminpartial
1条回答
网友
1楼 · 发布于 2024-10-17 06:32:02

如果您对回调函数是否相等不感兴趣,可以为断言中的特定参数提供^{}。例如:

from unittest.mock import ANY

...

mock_tabular_learner.assert_called_with(
    mock_tabular_list.from_df().split_by_idx().label_from_df().
    databunch(),
    layers=[100, 100],
    ps=[0.001, 0.01],
    emb_drop=0.01,
    metrics=exp_rmspe,
    y_range=None,
    callback_fns=ANY)  # We don't care about the callback functions

相关问题 更多 >