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