万本电子书0元读

万本电子书0元读

顶部广告

Test-Driven JavaScript Development电子书

售       价:¥

3人正在读 | 0人评论 9.8

作       者:Ravi Kumar Gupta

出  版  社:Packt Publishing

出版时间:2015-12-18

字       数:155.3万

所属分类: 进口书 > 外文原版书 > 电脑/网络

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
Learn JavaScript test-driven development using popular frameworks and tools About This Book Learn the life cycle of TDD and its importance in real-world application Gain knowledge about popular tools and analyze features, syntax, and how they help in JavaScript testing Implement test-driven programming exercises using the practical code examples Who This Book Is For If you have an intermediate knowledge of HTML, CSS, and JavaScript and want to learn how and why the test-driven development approach is better for your assignments, then this book is for you. What You Will Learn Basic TDD fundamentals, life cycle, and benefits Become acquainted with the concepts and elements of unit testing and writing basic unit tests for JavaScript Understand the way JsUnit, Qunit, Karma and DalekJs work Use the Jasmine framework Interpret feature detection and devise tests specific to cross-browser compatibility Integrate jsTestDriver with Eclipse and run tests with jsTestDriver Explore re-factoring, adding and notifying observers Understand test-driven development in case of server-side JS In Detail Initially, all processing used to happen on the server-side and simple output was the response to web browsers. Nowadays, there are so many JavaScript frameworks and libraries created that help readers to create charts, animations, simulations, and so on. By the time a project finishes or reaches a stable state, so much JavaScript code has already been written that changing and maintaining it further is tedious. Here comes the importance of automated testing and more specifically, developing all that code in a test-driven environment. Test-driven development is a methodology that makes testing the central part of the design process – before writing code developers decide upon the conditions that code must meet to pass a test. The end goal is to help the readers understand the importance and process of using TDD as a part of development. This book starts with the details about test-driven development, its importance, need, and benefits. Later the book introduces popular tools and frameworks like YUI, Karma, QUnit, DalekJS, JsUnit and goes on to utilize Jasmine, Mocha, Karma for advanced concepts like feature detection, server-side testing, and patterns. We are going to understand, write, and run tests, and further debug our programs. The book concludes with best practices in JavaScript testing. By the end of the book, the readers will know why they should test, how to do it most efficiently, and will have a number of versatile tests (and methods for devising new tests) to get to work immediately. Style and approach Easy-to-follow guide with suitable examples for developing JavaScript code in the test-Driven environment, with popular tools and frameworks. User experience and statements are also included to help readers make a better choice of tool for real-world projects.
目录展开

Test-Driven JavaScript Development

Table of Contents

Test-Driven JavaScript Development

Credits

About the Authors

About the Reviewers

www.PacktPub.com

Support files, eBooks, discount offers, and more

Why subscribe?

Free access for Packt account holders

Preface

What this book covers

What you need for this book

Who this book is for

Conventions

Reader feedback

Customer support

Downloading the example code

Errata

Piracy

Questions

1. Overview of TDD

Complexity of web pages

Understanding test-driven development

The need for testing

Types of testing

The life cycle of TDD

TDD microcycle

Agile and TDD

Benefits of TDD and common myths

Benefits

Myths

Summary

2. Testing Concepts

Unit testing

Unit testing frameworks

YUI Tests

Following the process

Preparing the environment

Following the life cycle

Writing a test

Running the test and seeing if test fails

Writing a production code

Running all tests

Cleaning up the code

Repeat

Using the browser console

setUp() and tearDown()

Test suites

Actions and assertions

Actions

Assertions

Benefits and pitfalls

Benefits of unit testing

Pitfalls of unit testing

Summary

3. Testing Tools

JsUnit

Getting started

Writing tests

Running tests

QUnit

Getting started

Writing tests

Running tests

Karma with Jasmine

Getting started

Writing tests

Running tests

DalekJS

Getting started

Writing tests

Actions

Assertions

Running tests

Summary

4. Jasmine

Understanding behavior-driven development

Setting up Jasmine

describe and specs

Expectations

Matchers

Set up and tear down

Spies

Tracking spies using calls

Creating a custom spy

Jasmine clock

Creating a custom matcher

Creating a custom equality tester

Asynchronous calls

The Jasmine Ajax plugin

Nesting suites

Disabling suites and specs

Summary

5. JsTestDriver

JsTestDriver

Overview

Getting started

Writing tests

Assertions

Capturing the browser

Restructuring your project

The configuration file

Running tests using the command prompt

Setting up JsTestDriver with IDE

Running the tests

Running Jasmine specs

Code coverage

Summary

6. Feature Detection

Understanding feature detection

Available methods and libraries

has.js

Writing custom tests

Modernizr

Downloading and setting up Modernizr

How it works

Using Modernizr

Polyfills

Loading polyfills

Supported browsers

Browser detection

User agent sniffing

Object detection

Features testing with Modernizr

CSS features

HTML5 features

Miscellaneous features

Plugins for additional tests

Modernizr methods

Modernizr.prefixed()

Modernizr.prefixedCSS()

Modernizr.mq()

Modernizr.on()

Modernizr.atRule()

Modernizr.addTest()

Modernizr.testStyles()

Modernizr.testProp()

Modernizr.testAllProps()

Modernizr.hasEvent()

Modernizr._prefixes and Modernizr._domPrefixes

Undetectable features

Summary

7. Observer Design Pattern

Overview

When to use it

Advantages

Disadvantages

Different implementations of the observer

Event dispatcher/listener

Publish/subscribe

Push versus pull

Sample code

Understanding patterns in API

The notify method

Subscribe

Unsubscribe

Observer with topics

Observer pattern using jQuery.Callbacks

Implementing the observer pattern using TDD

Red step (code with error)

Green step (with running code)

Refactoring

Hot swapping components

Browser compatibility of the observer API

Summary

8. Testing with Server-Side JS

Setting up the environment

Installing Node.js

Setting up the application

Choosing a test runner

Mocha and Chai

Server-side unit testing

Implementing the web server

Helpdesk – sample application

Setting up the MongoDB database

The Mocha test

Summary

9. Best Practices

TDD best practices

Follow proper rules to define test cases

Make test case names more readable

Keep the same name for test files and source files

Keep the name descriptive

Applying proper processes

Making sure that tests are written before starting implementation

Modifying/writing new code only when the test is failing

Running all the tests when we modify anything in the existing code

Existing tests should pass before new tests are written

Cleaning up code once all test cases are passed

Follow right development practices

Simple code that can be easily understood

Writing assertions first

One assertion per test is enough

Keep your focus on findability

Reducing duplication

Tests should run fast

Using mocks

Using stubs

Using setUp and tearDown methods

Choosing the right tool

Feature detection tools

Server-side testing tools

Asynchronous testing

Running time of unit tests

Browser support

Other features

JsLint

Summary

Index

累计评论(0条) 0个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部