2015-11-10 13:31:46 -05:00
:marked
2015-10-15 16:59:42 -04:00
We write **unit tests** to explore and confirm the **behavior** of parts of our application.
2016-04-19 11:07:22 -04:00
我们编写**单元测试**来探索和确认我们应用程序的**行为**部分。
2015-10-15 16:59:42 -04:00
1. They **guard** against breaking existing code (“regressions”) when we make changes.
2016-04-19 11:07:22 -04:00
1. 当我们改变代码是,他们**守护**已有代码,以防被破坏。
2015-10-15 16:59:42 -04:00
1. They **clarify** what the code does both when used as intended and when faced with deviant conditions.
2016-04-19 11:07:22 -04:00
1. 在我们正确使用代码和面对异常情况时,他们**澄清**代码做什么。
1. They **reveal** mistakes in design and implementation. Tests force us to look at our code from many angles. When a part of our application seems hard to test,
we may have discovered a design flaw, something we can cure now rather than later when it becomes expensive to fix.
1.他们**揭露**我们设计的执行的错误。测试强迫我们从多个角度看代码。当应用程序的一个部分看起来很难测试,我们可能会发现设计缺陷,这是我们可以立刻修复的,而不是等到它变的很难修复的时候。
2015-10-15 16:59:42 -04:00
2016-01-29 16:44:56 -05:00
.alert.is-important
:marked
These testing chapters were written before the Angular 2 Beta release
and are scheduled for significant updates.
Much of the material remains accurate and relevant but references to
specific features of Angular 2 and the Angular 2 testing library
may not be correct. Please bear with us.
2016-04-19 11:07:22 -04:00
这些测试的章节是
2016-01-29 16:44:56 -05:00
:marked
2015-10-15 16:59:42 -04:00
Here is what we’ ll learn in the unit testing chapters.
1. Jasmine Testing 101
- setup to run Jasmine tests in the browser
- basic Jasmine testing skills
- write simple Jasmine tests in TypeScript
- debug a test in the browser
1. The Application Under Test
2016-02-06 02:27:06 -05:00
2015-10-15 16:59:42 -04:00
1. Test a class
- test a simple application class outside of Angular
- where to put the test file
- load a test file with systemJS
1. Test a Pipe
- test a simple Angular Pipe class
- add the Angular 2 library to the test harness
- load multiple test files using system.js
1. Test an Asynchronous Service
- test an asynchronous service class outside of Angular
- write a test plan in code
- fake a dependency
- master the `catch(fail).then(done)` pattern
- move setup to `beforeEach`
- test when a dependency fails
- control async test timeout
1. The Angular Test Environment
- the Angular test environment and why we need help
- add the Angular Test libraries to the test harness
- test the same async service using Angular Dependency Injection
- reduce friction with test helpers
- introducing spies
1. Test a Component
- test the component outside of Angular
- mock the dependent asynchronous service
- simulate interaction with the view (no DOM)
- use a spy-promise to control asynchronous test flow
1. Test a Component in the DOM
- test the component inside the Angular test environment
- use the `TestComponentBuilder`
- more test helpers
- interact with the DOM
- bind to a mock dependent asynchronous service
1. Run the tests with karma
It’ s a big agenda. Fortunately, you can learn a little bit at a time and put each lesson to use.