Posts tagged with 'Jasmine'

Mock out Google Maps Geocoder with Jasmine Spies

The Google Maps Geocoder is a handy utility that lets you do this: var geocoder = new google.maps.Geocoder(); geocoder.geocode( { address: '1600 Amphitheatre Parkway, Mountain View, CA 94043' }, function (results) { // address results of Google HQ }, ); When writing unit tests though, we don't really want…

Mocking Angular’s $http Promise return type using only Mocks

Last week, we had a look at Mocking Angular’s $http Promise return type using the $q library. This gives you a great deal of control over when your mock promises are resolved. But, it comes at the cost of requiring both the $q library and manually calling $rootscope.$apply(). If you want to avoid those (and you don't…

Mocking Angular’s $http Promise return type

The Angular $http service provides an easy way to interact with an API endpoint. If you want to query some data, you can simply do this: var request = $http.get('/api/items'); request.success(function (data) { console.log('I have data', data); }); The request object above is an Angular HTTP promise (ng.IHttpPromise…

Using Jasmine Spies to Create Mocks and Simplify the Scope of Your Tests

Jasmine spies are a great and easy way to create mock objects for testing. By using a Spy object, you remove the need to create your own function and class stubs just to satisfy test dependencies. Some TypeScript Code Let’s say you have this service for saving a person: iperson-service.ts /// <reference…

Published

Writing Cleaner AngularJS with TypeScript and ControllerAs

Our team made the move to TypeScript and Angular at the tail end of last year. I'd had a look at Angular a year or so ago but struggled to get my head around the excessive usage of $scope and the nesting of $parent items that needed to be traversed. Since then (with version 1.2.0), Angular now supports Controller As…

Use Karma and Grunt to Run Your Jasmine Tests in Real-Time

As JavaScript applications become more common and more complex, the need for good unit test coverage also increases. Hopefully you’re already writing tests. If not, why not? When I’m doing TDD with C#, I use NCrunch to monitor all tests within the Visual Studio Solution and run them as they change. This saves me…