mocks create any property you access, so calling functions on them is inherently risky due to typos quietly doing nothing. instead assert `.called is False`, which will fail noisily if you typo