[Vue Test Utils](https://vue-test-utils.vuejs.org) has an API method called [`shallowMount()`](https://vue-test-utils.vuejs.org/api/#shallowmount) that:

> 
> ...creates a `Wrapper` that contains the mounted and rendered Vue component, but with stubbed child components.
> 
> 
> 

I've searched the Vue Test Utils documentation website but failed to find a good explanation of how these stubbed child components behave.

1. What exactly are these stubbed child components?
2. Which parts of the Vue component lifecycle do they go through?
3. Is there a way to pre-program their behavior?