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

37 lines
966 B
Plaintext

.l-main-section
h2(class="function export") inject
p <code>(tokens: List, fn: Function)</code>
p(class="module").
exported from <a href="/angular2/test">angular2/test</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) => { ... });`