In our ASP.NET Core application, we have many APIs which are calling public method from the service class. Service class is implementing an Interface. Each service method (depending upon complexity and requirement) may call any number of internal or private or helper methods. While each of these internal/private/or helper methods are separately unit tested, how do we test the public service methods in such a way that we don't have to duplicate the code/effort that we have already spent in testing the internal/private/helper methods?
E.g. we can easily mock up the Interface methods to say the interface method expects these input arguments, and returns bla bla (without actually calling the method). So, can a similar thing be done to internal/private/helper methods which are not part of Interfaces so that we don't have to actually call these methods real time, and can just mock them while testing the main method itself?