angular.mock.inject
(API in module ng
)
NOTE: This is function is also published on window for easy access.
NOTE: Only available with jasmine.
The inject function wraps a function into an injectable function. The inject() creates new
instance of $injector per test, which is then used for
resolving references.
See also module
Example of what a typical jasmine tests looks like with the inject method.
angular.module('myApplicationModule', [])
.value('mode', 'app')
.value('version', 'v1.0.1');
describe('MyApp', function() {
// You need to load modules that you want to test,
// it loads only the "ng" module by default.
beforeEach(module('myApplicationModule'));
// inject() is used to inject arguments of all given functions
it('should provide a version', inject(function(mode, version) {
expect(version).toEqual('v1.0.1');
expect(mode).toEqual('app');
}));
// The inject and module method can also be used inside of the it or beforeEach
it('should override a version and test the new version is injected', function() {
// module() takes functions or strings (module aliases)
module(function($provide) {
$provide.value('version', 'overridden'); // override version here
});
inject(function(version) {
expect(version).toEqual('overridden');
});
));
});
angular.mock.inject(fns);
fns – {...Function} –
any number of functions which will be injected using the injector.