python data_error ai_generated true

AssertionError: assert {'a': 1, 'b': 2} == {'a': 1}

ID: python/pytest-assert-dict-subset

Also available as: JSON · Markdown · 中文
80%Fix Rate
88%Confidence
0Evidence
2024-10-01First Seen

Version Compatibility

VersionStatusIntroducedDeprecatedNotes
3.8 active

Root Cause

直接使用 == 比较字典,但只期望检查子集,导致测试失败。

generic

中文

直接使用 == 比较字典,但只期望检查子集,导致测试失败。

Workarounds

  1. 90% success 使用 items 子集比较
    assert expected.items() <= actual.items()
  2. 85% success 合并字典后比较
    assert actual == {**expected, **actual}

Dead Ends

Common approaches that don't work:

  1. 手动循环比较 50% fail

    尝试使用 dict.items() 循环比较,但代码冗长且易错

  2. 使用 in 操作符 80% fail

    尝试使用 assert dict1 in dict2,但语法不支持