Permalink
Switch branches/tags
Nothing to show
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
49 lines (40 sloc) 7.27 KB

Automated Testing

Context: frontend-dev-bookmarks / Workflow

Automated software testing is a process in which software tools execute pre-scripted tests on a software application before it is released into production.

frontend.directory Gitter Twitter


  • 5 Common Misconceptions About TDD & Unit Tests: Eric Elliott breaks down some common misconceptions and explains how you can benefit the most from TDD & unit tests.
  • A Gentle Introduction to Javascript Test Driven Development: Over the course of the series, James Sinclair works through developing a full application in JavaScript that involves making network requests and manipulating the DOM.
  • Anti-patterns and Their Fixes: Shane Tomlinson presents a sample application that contains several common anti-patterns and how these can be refactored to be more testable.
  • Chai: Chai is a BDD/TDD assertion library for node and the browser that can be paired with any JavaScript testing framework.
  • Cucumber: Cucumber is a software tool that computer programmers use for testing other software. It runs automated acceptance tests written in a behavior-driven development (BDD) style.
    • Cucumber.js: Cucumber.js is a Cucumber implementation written in pure JavaScript. It runs on Node.js, IO.js, browsers and any other JavaScript platform.
    • Gherkin: Gherkin is the language that Cucumber understands. It is a Business Readable, Domain Specific Language that lets you describe software’s behaviour without detailing how that behaviour is implemented.
  • FiveUI: FiveUI is an extensible tool for evaluating HTML user interfaces against sets of codified UI Guidelines.
  • Introducing BDD: Dan North introduces behaviour-driven development (BDD). A software development process that emerged from test-driven development (TDD).
  • Jasmine: Jasmine is a Behavior Driven Development testing framework for JavaScript. It does not rely on browsers, DOM, or any JavaScript framework. Thus it's suited for websites, Node.js projects, or anywhere that JavaScript can run.
  • JavaScript Testing: Unit vs Functional vs Integration Tests: Unit tests, integration tests, and functional tests are all types of automated tests which form essential cornerstones of continuous delivery, a development methodology that allows you to safely ship changes to production in days or hours rather than months or years.
  • Jest: A JavaScript unit testing framework, used by Facebook to test services and React applications.
  • Kakapo.js: Kakapo its a full featured http mocking library, he allows you to entirely replicate your backend logic in simple and declaritive way directly in the browser.
  • Karma: A simple tool that allows you to execute JavaScript code in multiple real browsers.
  • Leche: A JavaScript testing utility designed to work with Mocha and Sinon. This is intended for use both by Node.js and in browsers, so any changes must work in both locations.
  • My Node Test Strategy: Remy Sharp shates his automated testing process with tape, proxyquire, sinon and browserify.
  • PhantomCSS: PhantomCSS takes screenshots and compares them to baseline images to test for RGB pixel differences. PhantomCSS then generates image diffs to help you find the cause.
  • QUnit: QUnit is a powerful, easy-to-use JavaScript unit testing framework. It's used by the jQuery, jQuery UI and jQuery Mobile projects and is capable of testing any generic JavaScript code.
  • Refactor Away Anti-Patterns: Shane Tomlinson continues by refactoring the original application, including testing anti patterns, to be easier to read, easier to reuse, and easier to test.
  • Sinon.JS Assertions for Chai: Sinon–Chai provides a set of custom assertions for using the Sinon.JS spy, stub, and mocking framework with the Chai assertion library. You get all the benefits of Chai with all the powerful tools of Sinon.JS.
  • Sinon.js: Standalone test spies, stubs and mocks for JavaScript. No dependencies, works with any unit testing framework.
    • How to Stub/Mock Complex Objects: In this article, we’ll look at how to stub objects which are deeply nested, and when functions have more complex return values and they interact with other objects.
  • Tape: Tap-producing test harness for node and browsers.
  • TestCheck: TestCheck is a library for generative testing of program properties, ala QuickCheck.
  • Testing a React & Redux Codebase: This series aims to be a very comprehensive guide through testing a React and Redux codebase, where you can really cover a lot with just unit tests because the code is mostly universal.
  • Writing Testable JavaScript: Rebecca Murphey discusses how to organize code to make JavaScript more testable in unit tests.

License

Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 International License.

Please provide a link back to this repository. This is not necessary for GitHub forks.