angular-cn/public/docs/ts/latest/testing/index.jade

72 lines
3.2 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

:marked
We write **unit tests** to explore and confirm the **behavior** of parts of our application.
我们编写**单元测试**来探索和确认我们应用程序的**行为**部分。
1. They **guard** against breaking existing code (“regressions”) when we make changes.
1. 当我们改变代码时,它们**守护**已有代码,以防被破坏。
1. They **clarify** what the code does both when used as intended and when faced with deviant conditions.
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.它们**揭露**我们设计的执行的错误。测试强迫我们从多个角度看代码。当应用程序的一个部分看起来很难测试,我们可能会发现设计缺陷,这是我们可以立刻修复的,而不是等到它变的很难修复的时候。
.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.
这些测试的章节是
:marked
Here is what well 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
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
Its a big agenda. Fortunately, you can learn a little bit at a time and put each lesson to use.