angular-cn/public/docs/js/latest/api/test/inject-function.jade

42 lines
1.2 KiB
Plaintext
Raw Normal View History

.l-main-section
h2(class="function export") inject
pre.prettyprint
code.
inject(tokens: List<any>, fn: Function) : FunctionWithParamTokens
p.location-badge.
exported from <a href='../test'>angular2/test</a>
defined in <a href="https://github.com/angular/angular/tree/2.0.0-alpha.32/modules/angular2/src/test_lib/test_injector.ts#L148-L181">angular2/src/test_lib/test_injector.ts (line 148)</a>
:markdown
Allows injecting dependencies in `beforeEach()` and `it()`.
Example:
```
beforeEach(inject([Dependency, AClass], (dep, object) => {
// some code that uses `dep` and `object`
// ...
}));
it('...', inject([AClass, AsyncTestCompleter], (object, async) => {
object.doSomething().then(() => {
expect(...);
async.done();
});
})
```
Notes:
- injecting an `AsyncTestCompleter` allow completing async tests - this is the equivalent of
adding a `done` parameter in Jasmine,
- inject is currently a function because of some Traceur limitation the syntax should eventually
becomes `it('...', @Inject (object: AClass, async: AsyncTestCompleter) => { ... });`