В данном конкретном случае не имеет смысла издеваться над вызываемым методом.Это, однако, не только из-за того, что это метод того же класса.На самом деле, иногда методы одного и того же класса вводятся специально для того, чтобы их можно было смоделировать.Например, если в вашем классе вы обрабатываете некоторые данные, полученные с помощью файлового ввода-вывода, вы можете изолировать файловый ввод-вывод в собственный метод.Затем вы можете протестировать обработку данных с помощью фиктивной версии метода ввода / вывода вашего файла.
Однако в этом случае нет веских оснований для насмешки isNaturalNumber
в тестах на getClassificationInfo
:метод isNaturalNumber
имеет детерминированное поведение и не приводит к недопустимо долгому времени выполнения.Также маловероятно, что вы много выиграете, симулируя случай, когда isNaturalNumber
преднамеренно ведет себя неправильно в одном из тестов getClassificationInfo
.
. Вам не нужно всецело насмехаться над всем.Например, вы также не высмеиваете стандартные математические функции библиотеки, такие как sin
или cos
, потому что они также не вызывают проблем в большинстве случаев.Насмешка должна быть сделана по причине.Поэтому, если вы подумываете над тем, чтобы использовать функцию или метод, вы должны знать, какую проблему вы собираетесь решить.Если проблема не решается, не издевайтесь.