create-react-app-typescript
create-react-app-typescript copied to clipboard
displayName for components not set during testing
Is this a bug report?
Yes.
Environment
react-scripts-tsversion: [email protected]node -v: v8.10.0npm -v: 6.4.1yarn --version: 1.10.1enzymeversion: 3.7.0enzyme-adapter-react-16version: ^1.6.0
Operating system: Ubuntu 18.04.1
Steps to Reproduce
- Create a functional React component:
import React from 'react';
export const TestComponent = () => (
<div>
test
</div>
);
- Create a test for the component:
console.log(component.debug());
console.log(TestComponent.displayName);
expect(component.find('TestComponent')).toHaveLength(1);
Expected Behavior
Enzyme should be able to find the component using its displayName (TestComponent).
Actual Behavior
Enzyme can't find the component because it doesn't have a displayName. The output of debug() prints <Component /> instead of the component's actual name.
Other notes
This works fine during development; if I inspect my React tree using React Developer Tools the component name shows correctly. The displayName just isn't being set during testing.
Let me know if you need more details. Thanks!