René's URL Explorer Experiment


Title: GitHub - JavaScriptExpert/javascript-testing-best-practices: 📗🌐 🚢 Comprehensive and exhaustive JavaScript & Node.js testing best practices (August 2019)

Open Graph Title: GitHub - JavaScriptExpert/javascript-testing-best-practices: 📗🌐 🚢 Comprehensive and exhaustive JavaScript & Node.js testing best practices (August 2019)

X Title: GitHub - JavaScriptExpert/javascript-testing-best-practices: 📗🌐 🚢 Comprehensive and exhaustive JavaScript & Node.js testing best practices (August 2019)

Description: 📗🌐 🚢 Comprehensive and exhaustive JavaScript & Node.js testing best practices (August 2019) - JavaScriptExpert/javascript-testing-best-practices

Open Graph Description: 📗🌐 🚢 Comprehensive and exhaustive JavaScript & Node.js testing best practices (August 2019) - JavaScriptExpert/javascript-testing-best-practices

X Description: 📗🌐 🚢 Comprehensive and exhaustive JavaScript & Node.js testing best practices (August 2019) - JavaScriptExpert/javascript-testing-best-practices

Opengraph URL: https://github.com/JavaScriptExpert/javascript-testing-best-practices

X: @github

direct link

Domain: github.com

route-pattern/:user_id/:repository
route-controllerfiles
route-actiondisambiguate
fetch-noncev2:b4f67ff7-a904-05ad-4d1a-6601401fe937
current-catalog-service-hashf3abb0cc802f3d7b95fc8762b94bdcb13bf39634c40c357301c4aa1d67a256fb
request-id9C42:1DECF9:4C740A:639432:696AE2F4
html-safe-nonce1b5f2a7af9f10341ac0d45d2245acb4bcb0afd47ac3683317ad8bc077939eedc
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI5QzQyOjFERUNGOTo0Qzc0MEE6NjM5NDMyOjY5NkFFMkY0IiwidmlzaXRvcl9pZCI6IjQ0NTEwNjg2OTU4OTA1NTE1NDAiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ==
visitor-hmac98adc65775ebbea5368cbef7887349f43dd0683a40c4adf22cee3e820f9935c8
hovercard-subject-tagrepository:203674832
github-keyboard-shortcutsrepository,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location//
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/JavaScriptExpert/javascript-testing-best-practices
twitter:imagehttps://opengraph.githubassets.com/74ff321ef8c0c6383c1856fabd78ab9ec303734834318aaf2ba85ce27a11c273/JavaScriptExpert/javascript-testing-best-practices
twitter:cardsummary_large_image
og:imagehttps://opengraph.githubassets.com/74ff321ef8c0c6383c1856fabd78ab9ec303734834318aaf2ba85ce27a11c273/JavaScriptExpert/javascript-testing-best-practices
og:image:alt📗🌐 🚢 Comprehensive and exhaustive JavaScript & Node.js testing best practices (August 2019) - JavaScriptExpert/javascript-testing-best-practices
og:image:width1200
og:image:height600
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
None5f99f7c1d70f01da5b93e5ca90303359738944d8ab470e396496262c66e60b8d
turbo-cache-controlno-preview
go-importgithub.com/JavaScriptExpert/javascript-testing-best-practices git https://github.com/JavaScriptExpert/javascript-testing-best-practices.git
octolytics-dimension-user_id23145347
octolytics-dimension-user_loginJavaScriptExpert
octolytics-dimension-repository_id203674832
octolytics-dimension-repository_nwoJavaScriptExpert/javascript-testing-best-practices
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forktrue
octolytics-dimension-repository_parent_id195226340
octolytics-dimension-repository_parent_nwogoldbergyoni/javascript-testing-best-practices
octolytics-dimension-repository_network_root_id195226340
octolytics-dimension-repository_network_root_nwogoldbergyoni/javascript-testing-best-practices
turbo-body-classeslogged-out env-production page-responsive
disable-turbofalse
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
release3d84d50b3c75fa36755c3cf392edbc09e626f979
ui-targetcanary-1
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/JavaScriptExpert/javascript-testing-best-practices#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2FJavaScriptExpert%2Fjavascript-testing-best-practices
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub SparkBuild and deploy intelligent appshttps://github.com/features/spark
GitHub ModelsManage and compare promptshttps://github.com/features/models
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
GitHub SponsorsFund open source developershttps://github.com/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/accelerator
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2FJavaScriptExpert%2Fjavascript-testing-best-practices
Sign up https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E&source=header-repo&source_repo=JavaScriptExpert%2Fjavascript-testing-best-practices
Reloadhttps://github.com/JavaScriptExpert/javascript-testing-best-practices
Reloadhttps://github.com/JavaScriptExpert/javascript-testing-best-practices
Reloadhttps://github.com/JavaScriptExpert/javascript-testing-best-practices
JavaScriptExpert https://github.com/JavaScriptExpert
javascript-testing-best-practiceshttps://github.com/JavaScriptExpert/javascript-testing-best-practices
goldbergyoni/javascript-testing-best-practiceshttps://github.com/goldbergyoni/javascript-testing-best-practices
Notifications https://github.com/login?return_to=%2FJavaScriptExpert%2Fjavascript-testing-best-practices
Fork 0 https://github.com/login?return_to=%2FJavaScriptExpert%2Fjavascript-testing-best-practices
Star 0 https://github.com/login?return_to=%2FJavaScriptExpert%2Fjavascript-testing-best-practices
MIT license https://github.com/JavaScriptExpert/javascript-testing-best-practices/blob/master/LICENSE
0 stars https://github.com/JavaScriptExpert/javascript-testing-best-practices/stargazers
2.1k forks https://github.com/JavaScriptExpert/javascript-testing-best-practices/forks
Branches https://github.com/JavaScriptExpert/javascript-testing-best-practices/branches
Tags https://github.com/JavaScriptExpert/javascript-testing-best-practices/tags
Activity https://github.com/JavaScriptExpert/javascript-testing-best-practices/activity
Star https://github.com/login?return_to=%2FJavaScriptExpert%2Fjavascript-testing-best-practices
Notifications https://github.com/login?return_to=%2FJavaScriptExpert%2Fjavascript-testing-best-practices
Code https://github.com/JavaScriptExpert/javascript-testing-best-practices
Pull requests 0 https://github.com/JavaScriptExpert/javascript-testing-best-practices/pulls
Actions https://github.com/JavaScriptExpert/javascript-testing-best-practices/actions
Projects 0 https://github.com/JavaScriptExpert/javascript-testing-best-practices/projects
Security Uh oh! There was an error while loading. Please reload this page. https://github.com/JavaScriptExpert/javascript-testing-best-practices/security
Please reload this pagehttps://github.com/JavaScriptExpert/javascript-testing-best-practices
Insights https://github.com/JavaScriptExpert/javascript-testing-best-practices/pulse
Code https://github.com/JavaScriptExpert/javascript-testing-best-practices
Pull requests https://github.com/JavaScriptExpert/javascript-testing-best-practices/pulls
Actions https://github.com/JavaScriptExpert/javascript-testing-best-practices/actions
Projects https://github.com/JavaScriptExpert/javascript-testing-best-practices/projects
Security https://github.com/JavaScriptExpert/javascript-testing-best-practices/security
Insights https://github.com/JavaScriptExpert/javascript-testing-best-practices/pulse
Brancheshttps://github.com/JavaScriptExpert/javascript-testing-best-practices/branches
Tagshttps://github.com/JavaScriptExpert/javascript-testing-best-practices/tags
https://github.com/JavaScriptExpert/javascript-testing-best-practices/branches
https://github.com/JavaScriptExpert/javascript-testing-best-practices/tags
398 Commitshttps://github.com/JavaScriptExpert/javascript-testing-best-practices/commits/master/
https://github.com/JavaScriptExpert/javascript-testing-best-practices/commits/master/
assetshttps://github.com/JavaScriptExpert/javascript-testing-best-practices/tree/master/assets
assetshttps://github.com/JavaScriptExpert/javascript-testing-best-practices/tree/master/assets
LICENSEhttps://github.com/JavaScriptExpert/javascript-testing-best-practices/blob/master/LICENSE
LICENSEhttps://github.com/JavaScriptExpert/javascript-testing-best-practices/blob/master/LICENSE
readme.mdhttps://github.com/JavaScriptExpert/javascript-testing-best-practices/blob/master/readme.md
readme.mdhttps://github.com/JavaScriptExpert/javascript-testing-best-practices/blob/master/readme.md
READMEhttps://github.com/JavaScriptExpert/javascript-testing-best-practices
MIT licensehttps://github.com/JavaScriptExpert/javascript-testing-best-practices
https://github.com/JavaScriptExpert/javascript-testing-best-practices/blob/master/assets/jtbp-header-blue.png
https://github.com/JavaScriptExpert/javascript-testing-best-practices#-why-this-guide-can-take-your-testing-skills-to-the-next-level
https://github.com/JavaScriptExpert/javascript-testing-best-practices#-45-best-practices-super-comprehensive-and-exhaustive
https://github.com/JavaScriptExpert/javascript-testing-best-practices#-advanced-goes-10000-miles-beyond-the-basics
https://github.com/JavaScriptExpert/javascript-testing-best-practices#-full-stack-front-backend-ci-anything
https://github.com/JavaScriptExpert/javascript-testing-best-practices#written-by-yoni-goldberg
My testing workshophttps://www.testjavascript.com
my workshopshttps://www.testjavascript.com
Follow me on Twitter https://twitter.com/goldbergyoni/
LAhttps://js.la/
Veronahttps://2019.nodejsday.it/
Kharkivhttps://kharkivjs.org/
free webinarhttps://zoom.us/webinar/register/1015657064375/WN_Lzvnuv4oQJOYey2jXNqX6A
My JavaScript Quality newsletterhttps://testjavascript.com/newsletter/
https://github.com/JavaScriptExpert/javascript-testing-best-practices#table-of-contents
https://github.com/JavaScriptExpert/javascript-testing-best-practices#section-0-the-golden-rule
https://github.com/JavaScriptExpert/javascript-testing-best-practices#section-1-the-test-anatomy
https://github.com/JavaScriptExpert/javascript-testing-best-practices#section-2-backend
https://github.com/JavaScriptExpert/javascript-testing-best-practices#section-3-frontend-ui-e2e
https://github.com/JavaScriptExpert/javascript-testing-best-practices#section-4-measuring-tests-effectivenss
https://github.com/JavaScriptExpert/javascript-testing-best-practices#section-5-continuous-integration
https://github.com/JavaScriptExpert/javascript-testing-best-practices#section-0️⃣---the-golden-rule
https://github.com/JavaScriptExpert/javascript-testing-best-practices#️-0-the-golden-rule-design-for-lean-testing
https://github.com/JavaScriptExpert/javascript-testing-best-practices/blob/master/assets/headspace.png
https://github.com/JavaScriptExpert/javascript-testing-best-practices#ready-to-start
https://github.com/JavaScriptExpert/javascript-testing-best-practices#section-1-the-test-anatomy-1
https://github.com/JavaScriptExpert/javascript-testing-best-practices#-️-11-include-3-parts-in-each-test-name
https://github.com/JavaScriptExpert/javascript-testing-best-practices#clap-doing-it-right-example-a-test-name-that-constitutes-3-parts
https://camo.githubusercontent.com/152fa19e110c089c7f8050d6c831cf6b81f55a5b0c4e143d1303ab32928166c5/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f2546302539462539342541382532304578616d706c652532307573696e672532304d6f6368612d626c75652e737667
https://github.com/JavaScriptExpert/javascript-testing-best-practices#clap-doing-it-right-example-a-test-name-that-constitutes-3-parts-1
https://github.com/JavaScriptExpert/javascript-testing-best-practices/blob/master/assets/bp-1-3-parts.jpeg
https://github.com/JavaScriptExpert/javascript-testing-best-practices#-️-12-structure-tests-by-the-aaa-pattern
https://github.com/JavaScriptExpert/javascript-testing-best-practices#clap-doing-it-right-example-a-test-structured-with-the-aaa-pattern
https://camo.githubusercontent.com/8323d90b49dbdcb8e5cea6824183240e6cf480062089b904b67bce13e4eef4ee/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f2546302539462539342541372532304578616d706c652532307573696e672532304a6573742d626c75652e737667
https://camo.githubusercontent.com/5eb943c8b1ed083e8fe9253a69ded852e21da5354052e833d9498988e8c51ef8/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f2546302539462539342541372532304578616d706c652532307573696e672532304d6f6368612d626c75652e737667
https://github.com/JavaScriptExpert/javascript-testing-best-practices#thumbsdown-anti-pattern-example-no-separation-one-bulk-harder-to-interpret
https://github.com/JavaScriptExpert/javascript-testing-best-practices#-️13-describe-expectations-in-a-product-language-use-bdd-style-assertions
extending Jest matcher (Jest)https://jestjs.io/docs/en/expect#expectextendmatchers
custom Chai pluginhttps://www.chaijs.com/guide/plugins/
https://camo.githubusercontent.com/5eb943c8b1ed083e8fe9253a69ded852e21da5354052e833d9498988e8c51ef8/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f2546302539462539342541372532304578616d706c652532307573696e672532304d6f6368612d626c75652e737667
https://camo.githubusercontent.com/8323d90b49dbdcb8e5cea6824183240e6cf480062089b904b67bce13e4eef4ee/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f2546302539462539342541372532304578616d706c652532307573696e672532304a6573742d626c75652e737667
https://github.com/JavaScriptExpert/javascript-testing-best-practices#thumbsdown-anti-pattern-example-the-reader-must-skim-through-not-so-short-and-imperative-code-just-to-get-the-test-story
https://github.com/JavaScriptExpert/javascript-testing-best-practices#clap-doing-it-right-example-skimming-through-the-following-declarative-test-is-a-breeze
https://github.com/JavaScriptExpert/javascript-testing-best-practices#-️--14-stick-to-black-box-testing-test-only-public-methods
child who cries wolfhttps://en.wikipedia.org/wiki/The_Boy_Who_Cried_Wolf
https://github.com/JavaScriptExpert/javascript-testing-best-practices#thumbsdown-anti-pattern-example-a-test-case-is-testing-the-internals-for-no-good-reason
https://camo.githubusercontent.com/5eb943c8b1ed083e8fe9253a69ded852e21da5354052e833d9498988e8c51ef8/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f2546302539462539342541372532304578616d706c652532307573696e672532304d6f6368612d626c75652e737667
https://github.com/JavaScriptExpert/javascript-testing-best-practices#-️-️15-choose-the-right-test-doubles-avoid-mocks-in-favor-of-stubs-and-spies
https://martinfowler.com/articles/mocksArentStubs.html
Read here a reminder about test doubles: mocks vs stubs vs spieshttps://martinfowler.com/articles/mocksArentStubs.html
https://github.com/JavaScriptExpert/javascript-testing-best-practices#thumbsdown-anti-pattern-example-mocks-focus-on-the-internals
https://camo.githubusercontent.com/2bb00464fc4569c4b295e10fb21418328a77c01a0e32fa39a047748ffa79f640/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f2546302539462539342541372532304578616d706c652532307573696e6725323053696e6f6e2d626c75652e737667
https://github.com/JavaScriptExpert/javascript-testing-best-practices#clapdoing-it-right-example-spies-are-focused-on-testing-the-requirements-but-as-a-side-effect-are-unavoidably-touching-to-the-internals
https://github.com/JavaScriptExpert/javascript-testing-best-practices#-️16-dont-foo-use-realistic-input-data
Fakerhttps://www.npmjs.com/package/faker
https://github.com/JavaScriptExpert/javascript-testing-best-practices#thumbsdown-anti-pattern-example-a-test-suite-that-passes-due-to-non-realistic-data
https://camo.githubusercontent.com/8323d90b49dbdcb8e5cea6824183240e6cf480062089b904b67bce13e4eef4ee/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f2546302539462539342541372532304578616d706c652532307573696e672532304a6573742d626c75652e737667
https://github.com/JavaScriptExpert/javascript-testing-best-practices#clapdoing-it-right-example-randomizing-realistic-input
https://github.com/JavaScriptExpert/javascript-testing-best-practices#-️-17-test-many-input-combinations-using-property-based-testing
see Fuzz Testinghttps://en.wikipedia.org/wiki/Fuzzing
js-verifyhttps://github.com/jsverify/jsverify
testcheckhttps://github.com/leebyron/testcheck-js
checkout fast-checkhttps://github.com/dubzzz/fast-check#readme
https://github.com/JavaScriptExpert/javascript-testing-best-practices#clap--doing-it-right-example-testing-many-input-permutations-with-mocha-testcheck
https://camo.githubusercontent.com/5eb943c8b1ed083e8fe9253a69ded852e21da5354052e833d9498988e8c51ef8/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f2546302539462539342541372532304578616d706c652532307573696e672532304d6f6368612d626c75652e737667
https://github.com/JavaScriptExpert/javascript-testing-best-practices#-️-18-if-needed-use-only-short--inline-snapshots
snapshot testinghttps://jestjs.io/docs/en/snapshot-testing
Inline Snapshothttps://jestjs.io/docs/en/snapshot-testing#inline-snapshots
https://github.com/JavaScriptExpert/javascript-testing-best-practices#thumbsdown-anti-pattern-example-coupling-our-test-to-unseen-2000-lines-of-code
https://camo.githubusercontent.com/8323d90b49dbdcb8e5cea6824183240e6cf480062089b904b67bce13e4eef4ee/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f2546302539462539342541372532304578616d706c652532307573696e672532304a6573742d626c75652e737667
https://github.com/JavaScriptExpert/javascript-testing-best-practices#clap-doing-it-right-example-expectations-are-visible-and-focused
https://github.com/JavaScriptExpert/javascript-testing-best-practices#-️19-avoid-global-test-fixtures-and-seeds-add-data-per-test
also known as ‘test fixture’https://en.wikipedia.org/wiki/Test_fixture
https://github.com/JavaScriptExpert/javascript-testing-best-practices#thumbsdown-anti-pattern-example-tests-are-not-independent-and-rely-on-some-global-hook-to-feed-global-db-data
https://camo.githubusercontent.com/5eb943c8b1ed083e8fe9253a69ded852e21da5354052e833d9498988e8c51ef8/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f2546302539462539342541372532304578616d706c652532307573696e672532304d6f6368612d626c75652e737667
https://github.com/JavaScriptExpert/javascript-testing-best-practices#clap-doing-it-right-example-we-can-stay-within-the-test-each-test-acts-on-its-own-set-of-data
https://github.com/JavaScriptExpert/javascript-testing-best-practices#-️-110-dont-catch-errors-expect-them
https://github.com/JavaScriptExpert/javascript-testing-best-practices#thumbsdown-anti-pattern-example-a-long-test-case-that-tries-to-assert-the-existence-of-error-with-try-catch
https://camo.githubusercontent.com/5eb943c8b1ed083e8fe9253a69ded852e21da5354052e833d9498988e8c51ef8/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f2546302539462539342541372532304578616d706c652532307573696e672532304d6f6368612d626c75652e737667
https://github.com/JavaScriptExpert/javascript-testing-best-practices#clap-doing-it-right-example-a-human-readable-expectation-that-could-be-understood-easily-maybe-even-by-qa-or-technical-pm
https://github.com/JavaScriptExpert/javascript-testing-best-practices#-️-111-tag-your-tests
https://github.com/JavaScriptExpert/javascript-testing-best-practices#clap-doing-it-right-example-tagging-tests-as-cold-test-allows-the-test-runner-to-execute-only-fast-tests-coldquick-tests-that-are-doing-no-io-and-can-be-executed-frequently-even-as-the-developer-is-typing
https://camo.githubusercontent.com/8323d90b49dbdcb8e5cea6824183240e6cf480062089b904b67bce13e4eef4ee/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f2546302539462539342541372532304578616d706c652532307573696e672532304a6573742d626c75652e737667
https://github.com/JavaScriptExpert/javascript-testing-best-practices#-️112-other-generic-good-testing-hygiene
TDD principleshttps://www.sm-cloud.com/book-review-test-driven-development-by-example-a-tldr/
red-green-refactor stylehttps://blog.cleancoder.com/uncle-bob/2014/12/17/TheCyclesOfTDD.html
https://github.com/JavaScriptExpert/javascript-testing-best-practices#section-2️⃣--backend-testing
https://github.com/JavaScriptExpert/javascript-testing-best-practices#-️21-enrich-your-testing-portfolio-look-beyond-unit-tests-and-the-pyramid
testing pyramidhttps://martinfowler.com/bliki/TestPyramid.html
it must be wrong sometimeshttps://en.wikipedia.org/wiki/All_models_are_wrong
https://github.com/JavaScriptExpert/javascript-testing-best-practices#clap-doing-it-right-example-cindy-sridharan-suggests-a-rich-testing-portfolio-in-her-amazing-post-testing-microservicesthe-sane-way
https://github.com/JavaScriptExpert/javascript-testing-best-practices/blob/master/assets/bp-12-rich-testing.jpeg
https://www.youtube.com/watch?v=-2zP494wdUY&feature=youtube
YouTube: “Beyond Unit Tests: 5 Shiny Node.JS Test Types (2018)” (Yoni Goldberg)https://www.youtube.com/watch?v=-2zP494wdUY&feature=youtu.be
https://github.com/JavaScriptExpert/javascript-testing-best-practices/blob/master/assets/bp-12-Yoni-Goldberg-Testing.jpeg
https://github.com/JavaScriptExpert/javascript-testing-best-practices#-️22-component-testing-might-be-your-best-affair
https://github.com/JavaScriptExpert/javascript-testing-best-practices#clap-doing-it-right-example-supertest-allows-approaching-express-api-in-process-fast-and-cover-many-layers
https://camo.githubusercontent.com/5eb943c8b1ed083e8fe9253a69ded852e21da5354052e833d9498988e8c51ef8/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f2546302539462539342541372532304578616d706c652532307573696e672532304d6f6368612d626c75652e737667
https://github.com/JavaScriptExpert/javascript-testing-best-practices/blob/master/assets/bp-13-component-test-yoni-goldberg.png
https://github.com/JavaScriptExpert/javascript-testing-best-practices#-️23-ensure-new-releases-dont-break-the-api-using
Consumer-driven contracts and the framework PACThttps://docs.pact.io/
https://github.com/JavaScriptExpert/javascript-testing-best-practices#clap-doing-it-right-example
https://camo.githubusercontent.com/1490b075387b0643d6948ea8bbf089988cb4dfc0a356c893dfa4b83896c05831/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f2546302539462539342541372532304578616d706c652532307573696e67253230504143542d626c75652e737667
https://github.com/JavaScriptExpert/javascript-testing-best-practices/blob/master/assets/bp-14-testing-best-practices-contract-flow.png
https://github.com/JavaScriptExpert/javascript-testing-best-practices#-️-24-test-your-middlewares-in-isolation
using Sinon for examplehttps://www.npmjs.com/package/sinon
node-mock-httphttps://www.npmjs.com/package/node-mocks-http
https://github.com/JavaScriptExpert/javascript-testing-best-practices#clapdoing-it-right-example-testing-middleware-in-isolation-without-issuing-network-calls-and-waking-up-the-entire-express-machine
https://camo.githubusercontent.com/8323d90b49dbdcb8e5cea6824183240e6cf480062089b904b67bce13e4eef4ee/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f2546302539462539342541372532304578616d706c652532307573696e672532304a6573742d626c75652e737667
https://github.com/JavaScriptExpert/javascript-testing-best-practices#-️25-measure-and-refactor-using-static-analysis-tools
Sonarqubehttps://www.sonarqube.org/
starshttps://github.com/SonarSource/sonarqube
Code Climatehttps://codeclimate.com/
starshttps://github.com/codeclimate/codeclimate
https://github.com/TheHollidayInn
Keith Hollidayhttps://github.com/TheHollidayInn
https://github.com/JavaScriptExpert/javascript-testing-best-practices#clap-doing-it-right-example--codeclimate-a-commercial-tool-that-can-identify-complex-methods
https://camo.githubusercontent.com/5a4947216b55f7a5473a74f7e110381c802d7197fe481080e38b1f57db8d03e1/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f2546302539462539342541372532304578616d706c652532307573696e67253230436f6465253230436c696d6174652d626c75652e737667
https://github.com/JavaScriptExpert/javascript-testing-best-practices/blob/master/assets/bp-16-yoni-goldberg-quality.png
https://github.com/JavaScriptExpert/javascript-testing-best-practices#-️-26-check-your-readiness-for-node-related-chaos
Chaos engineeringhttps://principlesofchaos.org/
the chaos monkeyhttps://github.com/Netflix/chaosmonkey
kube-monkeyhttps://github.com/asobti/kube-monkey
node-chaoshttps://github.com/i0natan/node-chaos-monkey
https://github.com/JavaScriptExpert/javascript-testing-best-practices#clap-doing-it-right-example--node-chaos-can-generate-all-sort-of-nodejs-pranks-so-you-can-test-how-resilience-is-your-app-to-chaos
https://github.com/JavaScriptExpert/javascript-testing-best-practices/blob/master/assets/bp-17-yoni-goldberg-chaos-monkey-nodejs.png
https://github.com/JavaScriptExpert/javascript-testing-best-practices#-️27-avoid-global-test-fixtures-and-seeds-add-data-per-test
https://github.com/JavaScriptExpert/javascript-testing-best-practices#thumbsdown-anti-pattern-example-tests-are-not-independent-and-rely-on-some-global-hook-to-feed-global-db-data-1
https://camo.githubusercontent.com/5eb943c8b1ed083e8fe9253a69ded852e21da5354052e833d9498988e8c51ef8/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f2546302539462539342541372532304578616d706c652532307573696e672532304d6f6368612d626c75652e737667
https://github.com/JavaScriptExpert/javascript-testing-best-practices#clap-doing-it-right-example-we-can-stay-within-the-test-each-test-acts-on-its-own-set-of-data-1
https://github.com/JavaScriptExpert/javascript-testing-best-practices#section-3️⃣-frontend-testing
https://github.com/JavaScriptExpert/javascript-testing-best-practices#-️-31-separate-ui-from-functionality
https://github.com/JavaScriptExpert/javascript-testing-best-practices#clap-doing-it-right-example-separating-out-the-ui-details
https://camo.githubusercontent.com/84d10bfad50a6d9a36736a963472a1d66cf403f0e0e41ec06bd6d199366d4c2d/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f2546302539462539342541372532304578616d706c652532307573696e6725323052656163742d626c75652e737667
https://camo.githubusercontent.com/62e38dd6e0c57c086806c5cf105b1f87011550a5fd28089be529d19990368da3/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f2546302539462539342541372532304578616d706c652532307573696e67253230526561637425323054657374696e672532304c6962726172792d626c75652e737667
https://github.com/JavaScriptExpert/javascript-testing-best-practices#thumbsdown-anti-pattern-example-assertion-mix-ui-details-and-data
https://github.com/JavaScriptExpert/javascript-testing-best-practices#-️-32-query-html-elements-based-on-attributes-that-are-unlikely-to-change
https://github.com/JavaScriptExpert/javascript-testing-best-practices#clap-doing-it-right-example-querying-an-element-using-a-dedicated-attrbiute-for-testing
https://camo.githubusercontent.com/84d10bfad50a6d9a36736a963472a1d66cf403f0e0e41ec06bd6d199366d4c2d/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f2546302539462539342541372532304578616d706c652532307573696e6725323052656163742d626c75652e737667
https://github.com/JavaScriptExpert/javascript-testing-best-practices#thumbsdown-anti-pattern-example-relying-on-css-attributes
https://github.com/JavaScriptExpert/javascript-testing-best-practices#-️-33-whenever-possible-test-with-a-realistic-and-fully-rendered-component
https://github.com/JavaScriptExpert/javascript-testing-best-practices#clap-doing-it-right-example-working-realstically-with-a-fully-rendered-component
https://camo.githubusercontent.com/84d10bfad50a6d9a36736a963472a1d66cf403f0e0e41ec06bd6d199366d4c2d/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f2546302539462539342541372532304578616d706c652532307573696e6725323052656163742d626c75652e737667
https://camo.githubusercontent.com/6c4be90cbcc41f04ad70789098fd34a04c84983e881a4ae292ba4a6849e16f39/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f2546302539462539342541372532304578616d706c652532307573696e67253230456e7a796d652d626c75652e737667
https://github.com/JavaScriptExpert/javascript-testing-best-practices#thumbsdown-anti-pattern-example-mocking-the-reality-with-shallow-rendering
https://github.com/JavaScriptExpert/javascript-testing-best-practices#-️-34-dont-sleep-use-frameworks-built-in-support-for-async-events-also-try-to-speed-things-up
Cypress cy.request('url')https://docs.cypress.io/guides/references/best-practices.html#Unnecessary-Waiting
@testing-library/dom method wait(expect(element))https://testing-library.com/docs/guide-disappearance
hurry-up the clockhttps://jestjs.io/docs/en/timer-mocks
wait-for-expecthttps://www.npmjs.com/package/wait-for-expect
https://github.com/JavaScriptExpert/javascript-testing-best-practices#clap-doing-it-right-example-e2e-api-that-resolves-only-when-the-async-operations-is-done-cypress
https://camo.githubusercontent.com/84d10bfad50a6d9a36736a963472a1d66cf403f0e0e41ec06bd6d199366d4c2d/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f2546302539462539342541372532304578616d706c652532307573696e6725323052656163742d626c75652e737667
https://camo.githubusercontent.com/62e38dd6e0c57c086806c5cf105b1f87011550a5fd28089be529d19990368da3/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f2546302539462539342541372532304578616d706c652532307573696e67253230526561637425323054657374696e672532304c6962726172792d626c75652e737667
https://github.com/JavaScriptExpert/javascript-testing-best-practices#clap-doing-it-right-example-testing-library-that-waits-for-dom-elements
https://github.com/JavaScriptExpert/javascript-testing-best-practices#thumbsdown-anti-pattern-example-custom-sleep-code
https://github.com/JavaScriptExpert/javascript-testing-best-practices#-️-35-watch-how-the-content-is-served-over-the-network
https://camo.githubusercontent.com/e07f592d16cb581a3d7bfeca540431b9dcfa81e13e6d2a1b1a710c5b6ff7ee24/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f2546302539462539342541372532304578616d706c652532307573696e67253230476f6f676c652532304c69676874486f7573652d626c75652e737667
pingdomhttps://www.pingdom.com/
gcp StackDriverhttps://cloud.google.com/monitoring/uptime-checks/
lighthousehttps://developers.google.com/web/tools/lighthouse/
pagespeedhttps://developers.google.com/speed/pagespeed/insights/
meaningful painthttps://scotch.io/courses/10-web-performance-audit-tips-for-your-next-billion-users-in-2018/fmp-first-meaningful-paint
time until the page gets interactive (TTI)https://calibreapp.com/blog/time-to-interactive/
https://github.com/JavaScriptExpert/javascript-testing-best-practices#clap-doing-it-right-example-lighthouse-page-load-inspection-report
https://github.com/JavaScriptExpert/javascript-testing-best-practices/blob/master/assets/lighthouse2.png
https://github.com/JavaScriptExpert/javascript-testing-best-practices#-️-36-stub-flakky-and-slow-resources-like-backend-apis
Sinonhttps://sinonjs.org/
Test doubleshttps://www.npmjs.com/package/testdouble
https://github.com/JavaScriptExpert/javascript-testing-best-practices#clap-doing-it-right-example-stubbing-or-intercepting-api-calls
https://camo.githubusercontent.com/84d10bfad50a6d9a36736a963472a1d66cf403f0e0e41ec06bd6d199366d4c2d/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f2546302539462539342541372532304578616d706c652532307573696e6725323052656163742d626c75652e737667
https://camo.githubusercontent.com/8323d90b49dbdcb8e5cea6824183240e6cf480062089b904b67bce13e4eef4ee/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f2546302539462539342541372532304578616d706c652532307573696e672532304a6573742d626c75652e737667
https://github.com/JavaScriptExpert/javascript-testing-best-practices#-️-37-have-very-few-end-to-end-tests-that-spans-the-whole-system
Cypresshttps://www.cypress.io/
Pupeteerhttps://github.com/GoogleChrome/puppeteer
https://github.com/JavaScriptExpert/javascript-testing-best-practices#-️-38-speed-up-e2e-tests-by-reusing-login-credentials
https://github.com/JavaScriptExpert/javascript-testing-best-practices#clap-doing-it-right-example-logging-in-before-all-and-not-before-each
https://camo.githubusercontent.com/65196115ecfd1a2e8c62b6fd4f470e99d9b5d4953b6e40abedef82d93f84b8ef/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f2546302539462539342541382532304578616d706c652532307573696e67253230437970726573732d626c75652e737667
https://github.com/JavaScriptExpert/javascript-testing-best-practices#-️-39-have-one-e2e-smoke-test-that-just-travels-across-the-site-map
https://github.com/JavaScriptExpert/javascript-testing-best-practices#clap-doing-it-right-example-smoke-travelling-across-all-pages
https://camo.githubusercontent.com/65196115ecfd1a2e8c62b6fd4f470e99d9b5d4953b6e40abedef82d93f84b8ef/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f2546302539462539342541382532304578616d706c652532307573696e67253230437970726573732d626c75652e737667
https://github.com/JavaScriptExpert/javascript-testing-best-practices#-️-310-expose-the-tests-as-a-live-collaborative-document
BDD (behavior-driven testing)https://en.wikipedia.org/wiki/Behavior-driven_development
Cucumber which has a JavaScript flavorhttps://github.com/cucumber/cucumber-js
StoryBookhttps://storybook.js.org/
https://github.com/JavaScriptExpert/javascript-testing-best-practices#clap-doing-it-right-example-describing-tests-in-human-language-using-cucumber-js
https://camo.githubusercontent.com/de9a9d070d83d0627ea2329b007ee5d4aa665b854e456bb7cd20c06a607d60a3/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f2546302539462539342541382532304578616d706c652532307573696e67253230436f63756d6265722d626c75652e737667
https://github.com/JavaScriptExpert/javascript-testing-best-practices#clap-doing-it-right-example-visualizing-our-components-their-various-states-and-inputs-using-storybook
https://camo.githubusercontent.com/02246057d27ec584e5c84dad2e94c08cce3aeeff842051160b2f79a4ccbf8dee/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f2546302539462539342541382532304578616d706c652532307573696e6725323053746f7279426f6f6b2d626c75652e737667
https://github.com/JavaScriptExpert/javascript-testing-best-practices#-️-311-detect-visual-issues-with-automated-tools
wraithhttps://github.com/BBC-News/wraith
Applitoolshttps://applitools.com/
Percy.iohttps://percy.io/
https://github.com/JavaScriptExpert/javascript-testing-best-practices#thumbsdown-anti-pattern-example-a-typical-visual-regression---right-content-that-is-served-badly
https://github.com/JavaScriptExpert/javascript-testing-best-practices/blob/master/assets/amazon-visual-regression.jpeg
https://github.com/JavaScriptExpert/javascript-testing-best-practices#clap-doing-it-right-example-configuring-wraith-to-capture-and-compare-ui-snapshots
https://camo.githubusercontent.com/019133af5a61f9948756c77bf398170a5870b9d4265d172f84b5bb9f2657999d/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f2546302539462539342541382532304578616d706c652532307573696e672532305772616974682d626c75652e737667
https://github.com/JavaScriptExpert/javascript-testing-best-practices#clap-doing-it-right-example-using-applitools-to-get-snapshot-comaprison-and-other-advanced-features
https://camo.githubusercontent.com/3641d60538f5c27049ec75710931e337d7ef92045e74031e4ed4683148bc2aaa/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f2546302539462539342541382532304578616d706c652532307573696e672532304170706c69546f6f6c732d626c75652e737667
https://camo.githubusercontent.com/65196115ecfd1a2e8c62b6fd4f470e99d9b5d4953b6e40abedef82d93f84b8ef/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f2546302539462539342541382532304578616d706c652532307573696e67253230437970726573732d626c75652e737667
https://github.com/JavaScriptExpert/javascript-testing-best-practices#section-4️⃣-measuring-test-effectiveness
https://github.com/JavaScriptExpert/javascript-testing-best-practices#-️-41-get-enough-coverage-for-being-confident-80-seems-to-be-the-lucky-number
Fowler: “in the upper 80s or 90s”https://martinfowler.com/bliki/TestCoverage.html
Jest linkhttps://jestjs.io/docs/en/configuration.html#collectcoverage-boolean
https://github.com/JavaScriptExpert/javascript-testing-best-practices#clap-example-a-typical-coverage-report
https://github.com/JavaScriptExpert/javascript-testing-best-practices/blob/master/assets/bp-18-yoni-goldberg-code-coverage.png
https://github.com/JavaScriptExpert/javascript-testing-best-practices#clap-doing-it-right-example-setting-up-coverage-per-component-using-jest
https://camo.githubusercontent.com/a218f6fd262312622f24767768c7774afc19da34bf5bb8c4f401e77eed851cfa/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f2546302539462539342541382532304578616d706c652532307573696e672532304a6573742d626c75652e737667
https://github.com/JavaScriptExpert/javascript-testing-best-practices#-️-42-inspect-coverage-reports-to-detect-untested-areas-and-other-oddities
https://github.com/JavaScriptExpert/javascript-testing-best-practices#thumbsdown-anti-pattern-example-whats-wrong-with-this-coverage-report-based-on-a-real-world-scenario-where-we-tracked-our-application-usage-in-qa-and-find-out-interesting-login-patterns-hint-the-amount-of-login-failures-is-non-proportional-something-is-clearly-wrong-finally-it-turned-out-that-some-frontend-bug-keeps-hitting-the-backend-login-api
https://github.com/JavaScriptExpert/javascript-testing-best-practices#-️-43-measure-logical-coverage-using-mutation-testing
Strykerhttps://stryker-mutator.io/
https://github.com/JavaScriptExpert/javascript-testing-best-practices#thumbsdown-anti-pattern-example-100-coverage-0-testing
https://camo.githubusercontent.com/09015114551be57ffbe141e000c8c2fff64f06c5c5ed2deaba80898ca6980585/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f2546302539462539342541382532304578616d706c652532307573696e67253230537472796b65722d626c75652e737667
https://github.com/JavaScriptExpert/javascript-testing-best-practices#clap-doing-it-right-example-stryker-reports-a-tool-for-mutation-testing-detects-and-counts-the-amount-of-code-that-is-not-tested-mutations
https://github.com/JavaScriptExpert/javascript-testing-best-practices#-️44-preventing-test-code-issues-with-test-linters
eslint-plugin-mochahttps://www.npmjs.com/package/eslint-plugin-mocha
skippedhttps://mochajs.org/#inclusive-tests
eslint-plugin-jesthttps://github.com/jest-community/eslint-plugin-jest
https://github.com/JavaScriptExpert/javascript-testing-best-practices#thumbsdown-anti-pattern-example-a-test-case-full-of-errors-luckily-all-are-caught-by-linters
https://github.com/JavaScriptExpert/javascript-testing-best-practices#section-5️⃣-ci-and-other-quality-measures
https://github.com/JavaScriptExpert/javascript-testing-best-practices#-️-51-enrich-your-linters-and-abort-builds-that-have-linting-issues
ESLint standardhttps://www.npmjs.com/package/eslint-plugin-standard
Airbnb stylehttps://www.npmjs.com/package/eslint-config-airbnb
eslint-plugin-chai-expecthttps://www.npmjs.com/package/eslint-plugin-chai-expect
eslint-plugin-promisehttps://www.npmjs.com/package/eslint-plugin-promise?activeTab=readme
eslint-plugin-securityhttps://www.npmjs.com/package/eslint-plugin-security?activeTab=readme
eslint-plugin-you-dont-need-lodash-underscorehttps://www.npmjs.com/package/eslint-plugin-you-dont-need-lodash-underscore
https://github.com/JavaScriptExpert/javascript-testing-best-practices#thumbsdown-anti-pattern-example-the-wrong-error-object-is-thrown-mistakenly-no-stack-trace-will-appear-for-this-error-luckily-eslint-catches-the-next-production-bug
https://github.com/JavaScriptExpert/javascript-testing-best-practices/blob/master/assets/bp-21-yoni-goldberg-eslint.jpeg
https://github.com/JavaScriptExpert/javascript-testing-best-practices#-️-52-shorten-the-feedback-loop-with-local-developer-ci
feedback loophttps://www.gocd.org/2016/03/15/are-you-ready-for-continuous-delivery-part-2-feedback-loops/
CircleCI load CLIhttps://circleci.com/docs/2.0/local-cli/
wallaby provide highly-valuable & testing insightshttps://wallabyjs.com/
concurrentlyhttps://www.npmjs.com/package/concurrently
husky can helphttps://github.com/typicode/husky
https://github.com/JavaScriptExpert/javascript-testing-best-practices#clap--doing-it-right-example-npm-scripts-that-perform-code-quality-inspection-all-are-run-in-parallel-on-demand-or-when-a-developer-is-trying-to-push-new-code
https://github.com/JavaScriptExpert/javascript-testing-best-practices#-️53-perform-e2e-testing-over-a-true-production-mirror
Docker-composehttps://serverless.com/
‘AWS Local’https://github.com/localstack/localstack
serverlesshttps://serverless.com/
AWS SAMhttps://docs.aws.amazon.com/lambda/latest/dg/serverless_app.html
Minikubehttps://kubernetes.io/docs/setup/minikube/
MicroK8shttps://microk8s.io/
Codefreshhttps://codefresh.io/
(https://container-solutions.com/dynamic-environments-kubernetes/
Credit: Dynamic-environments Kuberneteshttps://container-solutions.com/dynamic-environments-kubernetes/
https://github.com/JavaScriptExpert/javascript-testing-best-practices#clap--example-a-ci-pipeline-that-generates-kubernetes-cluster-on-the-fly-credit-dynamic-environments-kubernetes
https://github.com/JavaScriptExpert/javascript-testing-best-practices#-️54-parallelize-test-execution
Jesthttps://github.com/facebook/jest
AVAhttps://github.com/avajs/ava
Mocha extensionshttps://github.com/yandex/mocha-parallel-tests
Credit: JavaScript Test-Runners Benchmarkhttps://medium.com/dailyjs/javascript-test-runners-benchmark-3a78d4117b4
https://github.com/JavaScriptExpert/javascript-testing-best-practices#clap-doing-it-right-example-mocha-parallel--jest-easily-outrun-the-traditional-mocha-thanks-to-testing-parallelization-credit-javascript-test-runners-benchmark
https://github.com/JavaScriptExpert/javascript-testing-best-practices/blob/master/assets/bp-24-yonigoldberg-jest-parallel.png
https://github.com/JavaScriptExpert/javascript-testing-best-practices#-️55-stay-away-from-legal-issues-using-license-and-plagiarism-check
license checkhttps://www.npmjs.com/package/license-checker
plagiarism checkhttps://www.npmjs.com/package/plagiarism-checker
https://github.com/JavaScriptExpert/javascript-testing-best-practices#clap-doing-it-right-example-1
https://github.com/JavaScriptExpert/javascript-testing-best-practices/blob/master/assets/bp-25-nodejs-licsense.png
https://github.com/JavaScriptExpert/javascript-testing-best-practices#-️56-constantly-inspect-for-vulnerable-dependencies
npm audithttps://docs.npmjs.com/getting-started/running-a-security-audit
snykhttps://snyk.io/
https://github.com/JavaScriptExpert/javascript-testing-best-practices#clap-example-npm-audit-result
https://github.com/JavaScriptExpert/javascript-testing-best-practices/blob/master/assets/bp-26-npm-audit-snyk.png
https://github.com/JavaScriptExpert/javascript-testing-best-practices#-️57-automate-dependency-updates
like ncuhttps://www.npmjs.com/package/npm-check-updates
‘npm outdated’https://docs.npmjs.com/cli/outdated
see thehttps://nodesource.com/blog/a-high-level-post-mortem-of-the-eslint-scope-security-incident/
ncuhttps://www.npmjs.com/package/npm-check-updates
https://github.com/JavaScriptExpert/javascript-testing-best-practices#clap--example-ncu-can-be-used-manually-or-within-a-ci-pipeline-to-detect-to-which-extent-the-code-lag-behind-the-latest-versions
https://github.com/JavaScriptExpert/javascript-testing-best-practices/blob/master/assets/bp-27-yoni-goldberg-npm.png
https://github.com/JavaScriptExpert/javascript-testing-best-practices#-️-58-other-non-node-related-ci-tips
https://github.com/JavaScriptExpert/javascript-testing-best-practices#-️-59-build-matrix-run-the-same-ci-steps-using-multiple-node-versions
https://github.com/JavaScriptExpert/javascript-testing-best-practices#clap---example-using-travis-ci-vendor-build-definition-to-run-the-same-test-over-multiple-node-versions
https://github.com/JavaScriptExpert/javascript-testing-best-practices#team
https://github.com/JavaScriptExpert/javascript-testing-best-practices#yoni-goldberg
https://github.com/JavaScriptExpert/javascript-testing-best-practices/blob/master/assets/yoni-goldberg.jpg
Node.js Best Practiceshttps://github.com/goldbergyoni/nodebestpractices
register here for my testing workshophttps://testjavascript.com/
🐦 Twitterhttps://twitter.com/goldbergyoni/
📞 Contacthttps://testjavascript.com/contact-2/
✉️ Newsletterhttps://testjavascript.com/newsletter//
Bruno Scheuflerhttps://github.com/BrunoScheufler
https://github.com/JavaScriptExpert/javascript-testing-best-practices#bruno-scheufler
Ido Richterhttps://github.com/idori
https://github.com/JavaScriptExpert/javascript-testing-best-practices#ido-richter
Readme https://github.com/JavaScriptExpert/javascript-testing-best-practices#readme-ov-file
MIT license https://github.com/JavaScriptExpert/javascript-testing-best-practices#MIT-1-ov-file
Please reload this pagehttps://github.com/JavaScriptExpert/javascript-testing-best-practices
Activityhttps://github.com/JavaScriptExpert/javascript-testing-best-practices/activity
Custom propertieshttps://github.com/JavaScriptExpert/javascript-testing-best-practices/custom-properties
0 starshttps://github.com/JavaScriptExpert/javascript-testing-best-practices/stargazers
0 watchinghttps://github.com/JavaScriptExpert/javascript-testing-best-practices/watchers
0 forkshttps://github.com/JavaScriptExpert/javascript-testing-best-practices/forks
Report repository https://github.com/contact/report-content?content_url=https%3A%2F%2Fgithub.com%2FJavaScriptExpert%2Fjavascript-testing-best-practices&report=JavaScriptExpert+%28user%29
Releaseshttps://github.com/JavaScriptExpert/javascript-testing-best-practices/releases
Packages 0https://github.com/orgs/JavaScriptExpert/packages?repo_name=javascript-testing-best-practices
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.