airbnb.io - Enzyme JavaScript Testing utilities for React14,372









Search Preview

Airbnb Engineering & Data Science

airbnb.io
Airbnb.io Open SourceEventsBlogGithubCareersAirbnb.io EnzymeJavaScript Testing utilities for React14,372By Leland RichardsonEnzyme is a JavaScript Testing
.io > airbnb.io

SEO audit: Content analysis

Language Error! No language localisation is found.
Title Airbnb Engineering & Data Science
Text / HTML ratio 41 %
Frame Excellent! The website does not use iFrame solutions.
Flash Excellent! The website does not have any flash contents.
Keywords cloud => const = > wrapper React npm API enzyme Documentation Enzyme render 'enzyme' savedev shallow CareersDesign >' it'should Read full
Keywords consistency
Keyword Content Title Description Headings
=> 12
const 11
= 11
> 10
wrapper 9
React 6
Headings
H1 H2 H3 H4 H5 H6
1 0 2 3 0 0
Images We found 1 images on this web page.

SEO Keywords (Single)

Keyword Occurrence Density
=> 12 0.60 %
const 11 0.55 %
= 11 0.55 %
> 10 0.50 %
wrapper 9 0.45 %
React 6 0.30 %
npm 5 0.25 %
API 5 0.25 %
enzyme 4 0.20 %
Documentation 4 0.20 %
Enzyme 4 0.20 %
render 4 0.20 %
'enzyme' 3 0.15 %
savedev 3 0.15 %
shallow 3 0.15 %
CareersDesign 3 0.15 %
>' 3 0.15 %
it'should 3 0.15 %
Read 3 0.15 %
full 3 0.15 %

SEO Keywords (Two Word)

Keyword Occurrence Density
const wrapper 9 0.45 %
wrapper = 9 0.45 %
=> const 8 0.40 %
i savedev 3 0.15 %
from 'enzyme' 3 0.15 %
npm i 3 0.15 %
>' => 3 0.15 %
it'should render 3 0.15 %
Enzyme is 3 0.15 %
= mount 2 0.10 %
enzyme you 2 0.10 %
= shallow 2 0.10 %
shallow 2 0.10 %
API Documentation 2 0.10 %
full API 2 0.10 %
const onButtonClick 2 0.10 %
the full 2 0.10 %
expectonButtonClickcalledOncetobetrue Read 2 0.10 %
wrapperfind'button'simulate'click' expectonButtonClickcalledOncetobetrue 2 0.10 %
> wrapperfind'button'simulate'click' 2 0.10 %

SEO Keywords (Three Word)

Keyword Occurrence Density Possible Spam
const wrapper = 9 0.45 % No
=> const wrapper 6 0.30 % No
npm i savedev 3 0.15 % No
it'simulates click events' 2 0.10 % No
expectonButtonClickcalledOncetobetrue Read the 2 0.10 % No
wrapper = shallow 2 0.10 % No
= shallow 2 0.10 % No
wrapper = mount 2 0.10 % No
wrapper = shallow 2 0.10 % No
full API Documentation 2 0.10 % No
the full API 2 0.10 % No
Read the full 2 0.10 % No
wrapperfind'button'simulate'click' expectonButtonClickcalledOncetobetrue Read 2 0.10 % No
click events' => 2 0.10 % No
onButtonClick=onButtonClick > wrapperfind'button'simulate'click' 2 0.10 % No
2 0.10 % No
sinonspy const wrapper 2 0.10 % No
onButtonClick = sinonspy 2 0.10 % No
const onButtonClick = 2 0.10 % No
=> const onButtonClick 2 0.10 % No

SEO Keywords (Four Word)

Keyword Occurrence Density Possible Spam
=> const wrapper = 6 0.30 % No
wrapperfind'button'simulate'click' 2 0.10 % No
wrapper = shallow 2 0.10 % No
= sinonspy const wrapper 2 0.10 % No
const wrapper = mount 2 0.10 % No
const wrapper = shallow 2 0.10 % No
it'simulates click events' => 2 0.10 % No
click events' => const 2 0.10 % No
the full API Documentation 2 0.10 % No
expectonButtonClickcalledOncetobetrue Read the full 2 0.10 % No
Read the full API 2 0.10 % No
wrapperfind'button'simulate'click' expectonButtonClickcalledOncetobetrue Read the 2 0.10 % No
> wrapperfind'button'simulate'click' expectonButtonClickcalledOncetobetrue Read 2 0.10 % No
onButtonClick=onButtonClick > wrapperfind'button'simulate'click' expectonButtonClickcalledOncetobetrue 2 0.10 % No
events' => const onButtonClick 2 0.10 % No
=> const onButtonClick = 2 0.10 % No
const onButtonClick = sinonspy 2 0.10 % No
onButtonClick = sinonspy const 2 0.10 % No
const wrapper = shallow 2 0.10 % No
sinonspy const wrapper = 2 0.10 % No

Internal links in - airbnb.io

Open Source
Airbnb Engineering & Data Science
Events
Airbnb Engineering & Data Science
Airflow Use Apache Airflow (incubating) to author workflows as directed acyclic graphs (DAGs) of tasks8,613
Airbnb Engineering & Data Science
Aerosolve A machine learning package built for humans4,385
Airbnb Engineering & Data Science
BinaryAlert Serverless real-time and retroactive malware detection705
Airbnb Engineering & Data Science
AirMapView A view abstraction to provide a map user interface with various underlying map providers1,583
Airbnb Engineering & Data Science
Airpal Web UI for PrestoDB2,345
Airbnb Engineering & Data Science
DeepLinkDispatch Easy declaration and routing of your deep links2,990
Airbnb Engineering & Data Science
Enzyme JavaScript Testing utilities for React14,372
Airbnb Engineering & Data Science
Hammerspace Hash-like interface to persistent, concurrent, off-heap storage302
Airbnb Engineering & Data Science
Hypernova A service for server-side rendering your JavaScript views4,266
Airbnb Engineering & Data Science
Epoxy An Android library for building complex screens in a RecyclerView4,301
Airbnb Engineering & Data Science
Interferon Signaling you about infrastructure or application issues178
Airbnb Engineering & Data Science
JavaScript Style Guide A mostly reasonable approach to JavaScript73,101
Airbnb Engineering & Data Science
The Knowledge Repo A next-generation curated knowledge sharing platform for data scientists and other technical professions2,992
Airbnb Engineering & Data Science
Polyglot Give your JavaScript the ability to speak many languages2,734
Airbnb Engineering & Data Science
Nerve A service registration daemon that performs health checks; companion to airbnb/synapse837
Airbnb Engineering & Data Science
mocha-wrap Fluent pluggable interface for easily wrapping `describe` and `it` blocks in Mocha tests39
Airbnb Engineering & Data Science
Rheostat Rheostat is a www, mobile, and accessible slider component built with React1,248
Airbnb Engineering & Data Science
ReAir A collection of easy-to-use tools for replicating tables and partitions between Hive data warehouses206
Airbnb Engineering & Data Science
react-dates An accessible, easily internationalizable, mobile-friendly datepicker library for the web7,757
Airbnb Engineering & Data Science
Ruby Style Guide Airbnb's Ruby Style Guide2,366
Airbnb Engineering & Data Science
react-with-styles Use CSS-in-JavaScript with themes for React without being tightly coupled to one implementation1,242
Airbnb Engineering & Data Science
Superset Apache Superset (incubating) is a modern, enterprise-ready business intelligence web application19,842
Airbnb Engineering & Data Science
RxGroups Easily group RxJava Observables together and tie them to your Android Activity lifecycle668
Airbnb Engineering & Data Science
StreamAlert A serverless framework for real-time data analysis and alerting1,406
Airbnb Engineering & Data Science
Stemcell Airbnb's EC2 instance creation and bootstrapping tool157
Airbnb Engineering & Data Science
Synapse A transparent service discovery framework for connecting an SOA1,830
Airbnb Engineering & Data Science

Airbnb.io Spined HTML


Airbnb Engineering & Data Science Airbnb.io Open SourceEventsBlogGithubCareersAirbnb.io EnzymeJavaScript Testing utilities for React14,372By Leland RichardsonEnzyme is a JavaScript Testing utility for React that makes it easier to assert, manipulate, and traverse your React Components' output. Enzyme's API is meant to be intuitive and flexible by mimicking jQuery's API for DOM manipulation and traversal. Enzyme is unopinionated regarding which test runner or interjection library you use, and should be uniform with all major test runners and interjection libraries out there. The documentation and examples for enzyme use mocha and chai, but you should be worldly-wise to extrapolate to your framework of choice. Installation To get started with enzyme, you can simply install it with npm: npm i --save-dev enzyme Enzyme is currently uniform with both React 0.14.x and React 0.13.x. In order to unzip this compatibility, some dependencies cannot be explicitly listed in our package.json. If you are using React 0.14, in wing to enzyme, you will have to ensure that you moreover have the pursuit npm modules installed if they were not already: npm i --save-dev react-addons-test-utils npm i --save-dev react-dom Basic Usage Shallow Rendering import { shallow } from 'enzyme'; describe('<MyComponent />', () => { it('should render three <Foo /> components', () => { const wrapper = shallow(<MyComponent />); expect(wrapper.find(Foo)).to.have.length(3); }); it('should render an `.icon-star`', () => { const wrapper = shallow(<MyComponent />); expect(wrapper.find('.icon-star')).to.have.length(1); }); it('should render children when passed in', () => { const wrapper = shallow( <MyComponent> <div className="unique" /> </MyComponent> ); expect(wrapper.contains(<div className="unique" />)).to.be.true; }); it('simulates click events', () => { const onButtonClick = sinon.spy(); const wrapper = shallow( <Foo onButtonClick={onButtonClick} /> ); wrapper.find('button').simulate('click'); expect(onButtonClick.calledOnce).to.be.true; }); }); Read the full API Documentation JSDOM Full Rendering import { describeWithDOM, mount, spyLifecycle, } from 'enzyme'; describeWithDOM('<Foo />', () => { it('calls componentDidMount', () => { spyLifecycle(Foo); const wrapper = mount(<Foo />); expect(Foo.prototype.componentDidMount.calledOnce).to.be.true; }); it('allows us to set props', () => { const wrapper = mount(<Foo bar="baz" />); expect(wrapper.props().bar).to.equal("baz"); wrapper.setProps({ bar: "foo" }); expect(wrapper.props().bar).to.equal("foo"); }); it('simulates click events', () => { const onButtonClick = sinon.spy(); const wrapper = mount( <Foo onButtonClick={onButtonClick} /> ); wrapper.find('button').simulate('click'); expect(onButtonClick.calledOnce).to.be.true; }); }); Read the full API Documentation Static Rendered Markup import { render } from 'enzyme'; describe('<Foo />', () => { it('renders three `.foo-bar`s', () => { const wrapper = render(<Foo />); expect(wrapper.find('.foo-bar').length).to.equal(3); }); it('rendered the title', () => { const wrapper = render(<Foo title="unique" />); expect(wrapper.text()).to.contain("unique"); }); }); Read the full API DocumentationLinksGithubDocumentation© Airbnb, Inc.© Airbnb, Inc.CareersDesignCareersDesignCareersDesign