python
data_error
ai_generated
true
AssertionError: Expected mock_calls to have been called in order. Actual calls: [call(1), call(2)]
ID: python/unittest-mock-call-order
80%Fix Rate
83%Confidence
0Evidence
2025-01-10First Seen
Version Compatibility
| Version | Status | Introduced | Deprecated | Notes |
|---|---|---|---|---|
| 3.9 | active | — | — | — |
Root Cause
测试中检查了mock的调用顺序,但实际调用顺序与期望不符。
generic中文
mock调用顺序与预期不一致,导致断言失败。
Workarounds
-
90% success
mock.assert_has_calls([call(1), call(2)], any_order=False)
-
85% success
calls = [] def side_effect(x): calls.append(x) return x mock.side_effect = side_effect assert calls == [1, 2]
Dead Ends
Common approaches that don't work:
-
60% fail
可能掩盖并发或逻辑错误。
-
70% fail
不检查顺序,无法满足测试意图。