Testable JavaScript:
Gespeichert in:
1. Verfasser: | |
---|---|
Format: | Buch |
Sprache: | English |
Veröffentlicht: |
Beijing [u.a.]
O'Reilly Media
2013
|
Ausgabe: | 1. ed. |
Schlagworte: | |
Online-Zugang: | Inhaltsverzeichnis |
Beschreibung: | XIX, 250 S. Ill. |
ISBN: | 9781449323394 |
Internformat
MARC
LEADER | 00000nam a2200000 c 4500 | ||
---|---|---|---|
001 | BV040805820 | ||
003 | DE-604 | ||
005 | 20130429 | ||
007 | t | ||
008 | 130308s2013 a||| |||| 00||| eng d | ||
020 | |a 9781449323394 |9 978-1-4493-2339-4 | ||
035 | |a (OCoLC)839989643 | ||
035 | |a (DE-599)BVBBV040805820 | ||
040 | |a DE-604 |b ger |e rakwb | ||
041 | 0 | |a eng | |
049 | |a DE-83 |a DE-11 |a DE-B768 |a DE-523 | ||
084 | |a ST 250 |0 (DE-625)143626: |2 rvk | ||
100 | 1 | |a Trostler, Mark Ethan |e Verfasser |4 aut | |
245 | 1 | 0 | |a Testable JavaScript |c Mark Ethan Trostler |
250 | |a 1. ed. | ||
264 | 1 | |a Beijing [u.a.] |b O'Reilly Media |c 2013 | |
300 | |a XIX, 250 S. |b Ill. | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
650 | 0 | 7 | |a JavaScript |0 (DE-588)4420180-1 |2 gnd |9 rswk-swf |
689 | 0 | 0 | |a JavaScript |0 (DE-588)4420180-1 |D s |
689 | 0 | |5 DE-604 | |
856 | 4 | 2 | |m HBZ Datenaustausch |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=025785827&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
999 | |a oai:aleph.bib-bvb.de:BVB01-025785827 |
Datensatz im Suchindex
_version_ | 1804150145967718400 |
---|---|
adam_text | Titel: Testable JavaScript
Autor: Trostler, Mark Ethan
Jahr: 2013
Table of Contents
Preface ix
1. Testable JavaScript 1
Prior Art 2
Agile Development 3
Test-Driven Development 5
Behavior-Driven Development 5
The Best Approach? 6
Code Is for People 6
Why 7
What 9
How 9
Beyond Application Code 11
Testing 11
Debugging 11
Recap 12
2. Complexity 13
Code Size 14
JSLint 20
Cyclomatic Complexity 24
Reuse 27
Fan-Out 29
Fan-In 38
Coupling 39
Content Coupling 39
Common Coupling 40
Control Coupling 40
Stamp Coupling 40
Data Coupling 40
No Coupling
Instantiation 4^
Coupling Metrics 41
Coupling in the Real World 4^
Testing Coupled Code 44
Dependency Injection 45
Comments 48
YUIDoc 48
JSDoc 50
Docco/Rocco 52
The Human Test 54
Recap 55
3. Event-Based Architectures 57
The Benefits of Event-Based Programming 57
The Event Hub 58
Using the Event Hub 61
Responses to Thrown Events 65
Event-Based Architectures and MVC Approaches 67
Event-Based Architectures and Object-Oriented Programming 68
Event-Based Architectures and Software as a Service 68
Web-Based Applications 68
Testing Event-Based Architectures 69
Caveats to Event-Based Architectures 73
Scalability 73
Broadcasting 73
Runtime Checking 73
Security 74
State 74
A Smarter Hub: The Event Switch 74
Deployment 75
An Implementation 77
Sessions 79
Extensibility 80
Recap 80
4. Unit Tests 83
A Framework 83
Let s Get Clean 84
Writing Good Tests 86
Isolation 87
Scope 87
vi I Table of Contents
Defining Your Functions 88
Positive Testing 89
Negative Testing 90
Code Coverage 90
Real-World Testing 91
Dependencies 91
Asynchronous Testing 94
Running Tests: Client-Side JavaScript 95
PhantomJS 95
Selenium 100
Running Tests: Server-Side JavaScript 107
Jasmine 107
Recap 113
5. Code Coverage 115
Coverage Basics 115
Code Coverage Data 118
A Hands-on Example 119
Instrumenting Files 119
Anatomy of a Coveraged File 120
Exercise/Deploy 121
Client-Side JavaScript 121
Server-Side JavaScript 123
Persisting Coverage Information 126
Unit Tests 126
Integration Tests 127
Generating Output 128
Aggregation 129
Hidden Files 131
Coverage Goals 134
Recap 135
6. Integration, Performance, and Load Testing 137
Integration Testing 137
Selenium 138
CasperJS 144
Performance Testing 146
Generating HAR Files 147
Viewing HAR Files 152
Browser Performance Testing 154
Load Testing 156
Browser Load Testing 157
Table of Contents | vii
Tracking Resource Usage
Client-Side Tracking 1
Server-Side Tracking 169
d 172
Recap
7. Debugging ^
In-Browser Debugging 173
Firefox 175
Chrome 178
Safari 181
Internet Explorer 183
Node.js Debugging 183
Remote Debugging 186
Chrome I87
PhantomJS 192
Firefox 193
Mobile Debugging 194
Android 4 194
iOS 6 195
Adobe Edge Inspect 197
Other Mobile Debugging Options 201
Production Debugging 202
Minified Code 202
Source Maps 203
Recap 208
8. Automation 209
What to Automate 209
When to Automate 209
How to Automate 210
Automating with Continuous Integration 210
Automating the Development Environment 211
Automating the Build Environment 221
Deployment 240
Recap 241
Index 243
viii I Table of Contents
|
any_adam_object | 1 |
author | Trostler, Mark Ethan |
author_facet | Trostler, Mark Ethan |
author_role | aut |
author_sort | Trostler, Mark Ethan |
author_variant | m e t me met |
building | Verbundindex |
bvnumber | BV040805820 |
classification_rvk | ST 250 |
ctrlnum | (OCoLC)839989643 (DE-599)BVBBV040805820 |
discipline | Informatik |
edition | 1. ed. |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>01174nam a2200325 c 4500</leader><controlfield tag="001">BV040805820</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20130429 </controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">130308s2013 a||| |||| 00||| eng d</controlfield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9781449323394</subfield><subfield code="9">978-1-4493-2339-4</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)839989643</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)BVBBV040805820</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">rakwb</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">eng</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-83</subfield><subfield code="a">DE-11</subfield><subfield code="a">DE-B768</subfield><subfield code="a">DE-523</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 250</subfield><subfield code="0">(DE-625)143626:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Trostler, Mark Ethan</subfield><subfield code="e">Verfasser</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Testable JavaScript</subfield><subfield code="c">Mark Ethan Trostler</subfield></datafield><datafield tag="250" ind1=" " ind2=" "><subfield code="a">1. ed.</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Beijing [u.a.]</subfield><subfield code="b">O'Reilly Media</subfield><subfield code="c">2013</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">XIX, 250 S.</subfield><subfield code="b">Ill.</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">JavaScript</subfield><subfield code="0">(DE-588)4420180-1</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">JavaScript</subfield><subfield code="0">(DE-588)4420180-1</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">HBZ Datenaustausch</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=025785827&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="999" ind1=" " ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-025785827</subfield></datafield></record></collection> |
id | DE-604.BV040805820 |
illustrated | Illustrated |
indexdate | 2024-07-10T00:34:17Z |
institution | BVB |
isbn | 9781449323394 |
language | English |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-025785827 |
oclc_num | 839989643 |
open_access_boolean | |
owner | DE-83 DE-11 DE-B768 DE-523 |
owner_facet | DE-83 DE-11 DE-B768 DE-523 |
physical | XIX, 250 S. Ill. |
publishDate | 2013 |
publishDateSearch | 2013 |
publishDateSort | 2013 |
publisher | O'Reilly Media |
record_format | marc |
spelling | Trostler, Mark Ethan Verfasser aut Testable JavaScript Mark Ethan Trostler 1. ed. Beijing [u.a.] O'Reilly Media 2013 XIX, 250 S. Ill. txt rdacontent n rdamedia nc rdacarrier JavaScript (DE-588)4420180-1 gnd rswk-swf JavaScript (DE-588)4420180-1 s DE-604 HBZ Datenaustausch application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=025785827&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis |
spellingShingle | Trostler, Mark Ethan Testable JavaScript JavaScript (DE-588)4420180-1 gnd |
subject_GND | (DE-588)4420180-1 |
title | Testable JavaScript |
title_auth | Testable JavaScript |
title_exact_search | Testable JavaScript |
title_full | Testable JavaScript Mark Ethan Trostler |
title_fullStr | Testable JavaScript Mark Ethan Trostler |
title_full_unstemmed | Testable JavaScript Mark Ethan Trostler |
title_short | Testable JavaScript |
title_sort | testable javascript |
topic | JavaScript (DE-588)4420180-1 gnd |
topic_facet | JavaScript |
url | http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=025785827&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT trostlermarkethan testablejavascript |