babel-plugin-react-add-test-id
Example
in
const Foo = () =>
<Bar>
<div>
</Bar>
out
const Foo = () =>
<Bar data-test-id="Foo-Bar">
<div data-test-id="Foo-Bar-div">
</Bar>
Useful with styled-components
in
const Wrapper = styled.div`...`
const Bar = styled.div`...`
const Foo = () =>
<Wrapper>
<Bar>
</Wrapper>
out
const Wrapper = styled.div`...`
const Bar = styled.div`...`
const Foo = () =>
<Wrapper data-test-id="Foo-Wrapper">
<Bar data-test-id="Foo-Wrapper-Bar">
</Wrapper>
Install
yarn add @welldone-software/babel-plugin-react-add-test-id
or
npm install @welldone-software/babel-plugin-react-add-test-id
Usage
in .babelrc
"plugins": [
"@welldone-software/babel-plugin-add-test-id",
...
Options
Property | Type | Default | Description |
---|---|---|---|
attrName | String | data-test-id |
Define the attribute name |
mode | String | regular |
One of minimal , regular , full
|
ignoreElements | Array of Strings | [div , input , a , button , span , p , br , hr , ul , ol , li , img , form , h1 , h2 , h3 , h4 , h5 , h6 , svg , path , g ] |
Avoid adding test id on those elements |
additionalIgnoreElements | Array of Strings | [] | Add extra ignoreElements |
delimiter | String | - |
Separate components name with the delimiter |
in .babelrc
"plugins": [
["@welldone-software/babel-plugin-add-test-id", {"attrName": "data-test-id-example"}],