Q:

Enzyme simulate('change') on select does not increase func coverage

I've got a component with a select inside it 
<select onChange={this.handleChange}>
    {this.props.options.map(this.renderOption)}
</select>

and the following function
handleChange(e) {
    const element = e.target;
    this.props.onChange.call(null, e, {
        value: element.value,
        label: element.options[element.selectedIndex].textContent,
    });
}

I'm wrote a test in Jest and Enzyme, like this: 
const onChange = jest.fn();
// ....
component.find('select').simulate('change');
expect(onChange).toHaveBeenCalled();

The problem is that my % Funcs coverage is at 83.33% for this test because it thinks that the handleChange function is not being called. All the other coverages (% Stmts, % Branch, % Lines) are at 100%, except for this one. Is this an enzyme/jest bug, or am I doing something wrong?
PS: I tried writing a dummy test where I would call handleChange manually and the coverage goes to 100%. So, it's definitely something to do with that.
Edit, to clarify: The handleChange function is being called, the test works. The problem is that the coverage doesn't count that the function is being called.

A:

I found out what the case was for me.
SelectComponent.defaultProps = {
    options: [],
    onChange: () => {},
};

It was because of the default property function. When I unit tested, I replaced it with a mock function, so that function was never called, thus making the coverage not count it.

