Метод assert_called_with
возвращает None, поэтому то, что вы делаете, похоже на выполнение
assert None
И это в основном сообщение об ошибке, которое вы получаете.
Вы можете просто использовать
mock_b.assert_called_with(4)
У которого есть внутреннее утверждение, и pytest отобразит его правильно в случае сбоя.Попробуйте проверить это, изменив значение аргумента.
В качестве альтернативы, если вы предпочитаете написать утверждение самостоятельно, вы можете сделать что-то вроде этого:
from unittest.mock import call
assert mock_b.call_args_list == [call(4)]
Или только последний вызов:
from unittest.mock import call
assert mock_b.call_args == call(4)