angular-cn/modules/@angular/router-deprecated/test/integration
Tobias Bosch 8d746e3f67 feat(testing): add implicit test module
Every test now has an implicit module. It can be configured via `configureModule` (from @angular/core/testing)
to add providers, directives, pipes, ...

The compiler now has to be configured separately via `configureCompiler` (from @angular/core/testing)
to add providers or define whether to use jit.

BREAKING CHANGE:
- Application providers can no longer inject compiler internals (i.e. everything
  from `@angular/compiler). Inject `Compiler` instead. This reflects the
  changes to `bootstrap` for module support (3f55aa609f).
- Compiler providers can no longer be added via `addProviders` / `withProviders`.
  Use the new method `configureCompiler` instead.
- Platform directives / pipes need to be provided via
  `configureModule` and can no longer be provided via the
  `PLATFORM_PIPES` / `PLATFORM_DIRECTIVES` tokens.
- `setBaseTestProviders()` was renamed into `initTestEnvironment` and 
  now takes a `PlatformRef` and a factory for a
  `Compiler`.
- E.g. for the browser platform:
  
  BEFORE:
  ```
  import {setBaseTestProviders} from ‘@angular/core/testing’;
  import {TEST_BROWSER_DYNAMIC_PLATFORM_PROVIDERS,
      TEST_BROWSER_DYNAMIC_APPLICATION_PROVIDERS} from ‘@angular/platform-browser-dynamic/testing’;
  
  setBaseTestProviders(TEST_BROWSER_DYNAMIC_PLATFORM_PROVIDERS,
      TEST_BROWSER_DYNAMIC_APPLICATION_PROVIDERS);   
  ```

  AFTER:
  ```
  import {setBaseTestProviders} from ‘@angular/core/testing’;
  import {browserTestCompiler, browserDynamicTestPlatform,
      BrowserDynamicTestModule} from ‘@angular/platform-browser-dynamic/testing’;
  
  initTestEnvironment(
      browserTestCompiler,
      browserDynamicTestPlatform(),
      BrowserDynamicTestModule);

  ```
- E.g. for the server platform:
  
  BEFORE:
  ```
  import {setBaseTestProviders} from ‘@angular/core/testing’;
  import {TEST_SERVER_PLATFORM_PROVIDERS,
      TEST_SERVER_APPLICATION_PROVIDERS} from ‘@angular/platform-server/testing/server’;
  
  setBaseTestProviders(TEST_SERVER_PLATFORM_PROVIDERS,
      TEST_SERVER_APPLICATION_PROVIDERS);   
  ```

  AFTER:
  ```
  import {setBaseTestProviders} from ‘@angular/core/testing’;
  import {serverTestCompiler, serverTestPlatform,
      ServerTestModule} from ‘@angular/platform-browser-dynamic/testing’;
  
  initTestEnvironment(
      serverTestCompiler,
      serverTestPlatform(),
      ServerTestModule);

  ```

Related to #9726
Closes #9846
2016-07-06 18:04:19 -07:00
..
impl fix(core/testing): move ComponentFixture to core (#9386) 2016-06-24 12:41:49 -07:00
README.md chore: router move-only 2016-05-02 13:27:03 -07:00
async_route_spec.ts chore(lint): Added license headers to most TypeScript files 2016-06-23 09:47:54 -07:00
auxiliary_route_spec.ts chore(lint): Added license headers to most TypeScript files 2016-06-23 09:47:54 -07:00
bootstrap_spec.ts feat(testing): add implicit test module 2016-07-06 18:04:19 -07:00
lifecycle_hook_spec.ts fix(core/testing): move ComponentFixture to core (#9386) 2016-06-24 12:41:49 -07:00
navigation_spec.ts fix(core/testing): move ComponentFixture to core (#9386) 2016-06-24 12:41:49 -07:00
redirect_route_spec.ts fix(core/testing): move ComponentFixture to core (#9386) 2016-06-24 12:41:49 -07:00
router_link_spec.ts fix(core/testing): move ComponentFixture to core (#9386) 2016-06-24 12:41:49 -07:00
sync_route_spec.ts chore(lint): Added license headers to most TypeScript files 2016-06-23 09:47:54 -07:00
util.ts fix(core/testing): move ComponentFixture to core (#9386) 2016-06-24 12:41:49 -07:00

README.md

Router integration tests

These tests only mock out Location, and otherwise use all the real parts of routing to ensure that various routing scenarios work as expected.

The Component Router in Angular 2 exposes only a handful of different options, but because they can be combined and nested in so many ways, it's difficult to rigorously test all the cases.

The address this problem, we introduce describeRouter, describeWith, and describeWithout.