This repository was archived by the owner on Jan 26, 2019. It is now read-only.
This repository was archived by the owner on Jan 26, 2019. It is now read-only.
displayName for components not set during testing #421
Open
Description
Is this a bug report?
Yes.
Environment
react-scripts-ts
version: [email protected]node -v
: v8.10.0npm -v
: 6.4.1yarn --version
: 1.10.1enzyme
version: 3.7.0enzyme-adapter-react-16
version: ^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!
Metadata
Metadata
Assignees
Labels
No labels