feat(test): allow tests to specify the platform and application providers used
With providers split into bundles, the test injector is now able to
use providers for a given bundle. Suggested provider lists for tests are
available in `angular2/platform/testing/<platform>`.
Change the providers for a test suite using `setBaseTestProviders`. This
should be done once at the start of the test suite, before any test cases
run.
BREAKING CHANGE: Tests are now required to use `setBaseTestProviders`
to set up. Assuming your tests are run on a browser, setup would change
as follows.
Before:
```js
// Somewhere in test setup
import {BrowserDomAdapter} from 'angular2/src/platform/browser/browser_adapter';
BrowserDomAdapter.makeCurrent
```
After:
```js
// Somewhere in the test setup
import {setBaseTestProviders} from 'angular2/testing';
import {
TEST_BROWSER_PLATFORM_PROVIDERS,
TEST_BROWSER_APPLICATION_PROVIDERS
} from 'angular2/platform/testing/browser';
setBaseTestProviders(TEST_BROWSER_PLATFORM_PROVIDERS,
TEST_BROWSER_APPLICATION_PROVIDERS);
```
Closes #5351, Closes #5585
Closes #5975
This commit is contained in:
@@ -5,12 +5,12 @@ import 'package:test/test.dart';
|
||||
import 'package:angular2/angular2.dart';
|
||||
import 'package:angular2/src/core/di/metadata.dart' show InjectMetadata;
|
||||
import 'package:angular2/src/core/di/exceptions.dart' show NoAnnotationError;
|
||||
import 'package:angular2/platform/browser_static.dart' show BrowserDomAdapter;
|
||||
import 'package:angular2/src/core/reflection/reflection.dart';
|
||||
import 'package:angular2/src/core/reflection/reflection_capabilities.dart';
|
||||
import 'package:angular2/src/testing/test_injector.dart';
|
||||
export 'package:angular2/src/testing/test_component_builder.dart';
|
||||
export 'package:angular2/src/testing/test_injector.dart' show inject;
|
||||
import 'package:angular2/platform/testing/browser.dart';
|
||||
|
||||
/// One time initialization that must be done for Angular2 component
|
||||
/// tests. Call before any test methods.
|
||||
@@ -24,8 +24,8 @@ export 'package:angular2/src/testing/test_injector.dart' show inject;
|
||||
/// }
|
||||
/// ```
|
||||
void initAngularTests() {
|
||||
BrowserDomAdapter.makeCurrent();
|
||||
reflector.reflectionCapabilities = new ReflectionCapabilities();
|
||||
setBaseTestProviders(TEST_BROWSER_PLATFORM_PROVIDERS, TEST_BROWSER_APPLICATION_PROVIDERS);
|
||||
}
|
||||
|
||||
void _addTestInjectorTearDown() {
|
||||
|
||||
Reference in New Issue
Block a user