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:
10
test-main.js
10
test-main.js
@ -18,9 +18,13 @@ System.config({
|
||||
}
|
||||
});
|
||||
|
||||
// Import all the specs, execute their `main()` method and kick off Karma (Jasmine).
|
||||
System.import('angular2/src/platform/browser/browser_adapter').then(function(browser_adapter) {
|
||||
browser_adapter.BrowserDomAdapter.makeCurrent();
|
||||
// Set up the test injector, then import all the specs, execute their `main()`
|
||||
// method and kick off Karma (Jasmine).
|
||||
System.import('angular2/testing').then(function(testing) {
|
||||
return System.import('angular2/platform/testing/browser').then(function(testing_platform_browser) {
|
||||
testing.setBaseTestProviders(testing_platform_browser.TEST_BROWSER_PLATFORM_PROVIDERS,
|
||||
testing_platform_browser.TEST_BROWSER_APPLICATION_PROVIDERS);
|
||||
});
|
||||
}).then(function() {
|
||||
return Promise.all(
|
||||
Object.keys(window.__karma__.files) // All files served by Karma.
|
||||
|
Reference in New Issue
Block a user